srfi.66
- オクテットベクタ ¶このモジュールはu8vector
に特化した手続きを定義します。
ほぼsrfi.160
およびgauche.uvector
のサブセットです。
(see ユニフォームベクタ)。例外はu8vector-copy!
で、
これは不幸な歴史的事情から、gauche.uvector
と引数順が異なります。
srfi.66に依存するコードを移植するのでなければ、 このモジュールを使う場面は無いでしょう。
以下の手続きはgauche.uvector
と同じです。
u8vector? make-u8vector u8vector u8vector->list list->u8vector u8vector-length u8vector-ref u8vector-set! u8vector=? u8vector-compare u8vector-copy
[SRFI-66]{srfi.66
}
u8vectorであるsrcの、インデックスsstartからnオクテットを、
u8vector targetのインデックスtstartからにコピーします。
targetは変更可能なu8vectorでなければなりません。
gauche.uvector
もu8vector-copy!
を提供しますが、
引数が異なります。sendを(+ sstart n)
として、
次のとおりです:
(u8vector-copy! target tstart src sstart send)
Gaucheの引数順は、R7RS、SRFI-43およびSRFI-133のvector-copy!と 一貫性があります。
混乱を避けるため、
srfi.66
モジュールはサードパーティライブラリを移植する際に必要な場合に限り
使うと良いでしょう。