LISP - 向量
-
简述
向量是一维数组,因此是数组的子类型。向量和列表统称为序列。因此,我们目前讨论的所有序列泛型函数和数组函数都适用于向量。 -
创建向量
矢量函数允许您制作具有特定值的固定大小的矢量。它接受任意数量的参数并返回包含这些参数的向量。示例 1
创建一个名为 main.lisp 的新源代码文件,并在其中键入以下代码。当您执行代码时,它返回以下结果 -请注意,LISP 使用#(...) 语法作为向量的文字符号。您可以使用此 #(...) 语法在您的代码中创建和包含文字向量。但是,这些是文字向量,因此在 LISP 中没有定义修改它们。因此,对于编程,您应该始终使用vector功能,或更一般的功能make-array创建您计划修改的向量。这make-array函数是创建向量的更通用的方法。您可以使用访问向量元素aref功能。示例 2
创建一个名为 main.lisp 的新源代码文件,并在其中键入以下代码。当您执行代码时,它返回以下结果 - -
填充指针
这make-array函数允许您创建一个可调整大小的矢量。这fill-pointer函数的参数跟踪实际存储在向量中的元素数。它是向向量添加元素时要填充的下一个位置的索引。这vector-push函数允许您将一个元素添加到可调整大小的向量的末尾。它将填充指针增加 1。这vector-pop函数返回最近推送的项目并将填充指针减 1。例子
创建一个名为 main.lisp 的新源代码文件,并在其中键入以下代码。当您执行代码时,它返回以下结果 -向量是序列,所有序列函数都适用于向量。有关向量函数,请参阅序列章节。