Lisp-vectors
LISP-ベクトル
ベクトルは1次元配列であるため、配列のサブタイプです。 ベクターとリストは、まとめてシーケンスと呼ばれます。 したがって、これまでに説明したすべてのシーケンスジェネリック関数と配列関数は、ベクトルに作用します。
ベクターの作成
ベクトル関数を使用すると、特定の値を持つ固定サイズのベクトルを作成できます。 任意の数の引数を取り、それらの引数を含むベクトルを返します。
例1
main.lispという名前の新しいソースコードファイルを作成し、次のコードを入力します。
あなたがコードを実行すると、それは次の結果を返します-
LISPは、ベクトルのリテラル表記として#(…)構文を使用することに注意してください。 これを使用できます#(… )コードにリテラルベクトルを作成して含める構文。
ただし、これらはリテラルベクトルであるため、それらを変更することはLISPで定義されていません。 したがって、プログラミングの場合は、常に vector 関数、またはより一般的な関数 make-array を使用して、変更する予定のベクトルを作成する必要があります。
例2
main.lispという名前の新しいソースコードファイルを作成し、次のコードを入力します。
あなたがコードを実行すると、それは次の結果を返します-
塗りつぶしポインタ
関数の fill-pointer 引数は、ベクターに実際に保存されている要素の数を追跡します。 要素をベクターに追加するときに埋められる次の位置のインデックスです。
例
main.lispという名前の新しいソースコードファイルを作成し、次のコードを入力します。
あなたがコードを実行すると、それは次の結果を返します-
ベクトルはシーケンスであり、すべてのシーケンス関数はベクトルに適用できます。 ベクトル関数については、シーケンスの章を参照してください。