ブールベクトル(bool-vector)は、
t
かnil
だけの要素から成る1次元配列です。
ブールベクトルの表示表現は文字列に似ていますが、
‘#&’と長さで始まります。
これに続く文字列定数が、ブールベクトルの実際の内容を
ビットマップで表します。
つまり、文字列の『各文字』は8ビット長のデータであり、
ブールベクトルのつぎの8個の要素を表します
(1はt
を表し、0はnil
を表す)。
文字の最下位ビットが、ブールベクトルの小さい添字に対応します。
長さが8の倍数でない場合には、
表示表現には余計な要素が含まれますが、余計な部分に意味はありません。
(make-bool-vector 3 t)
⇒ #&3"\007"
(make-bool-vector 3 nil)
⇒ #&3"\0"
;; 最初の3ビットだけを使っているので、以下はすべて同じ
(equal #&3"\377" #&3"\007")
⇒ t