向量是一维数组,因此是数组的子类型,向量和列表统称为序列。
向量函数可让您制作具有特定值的固定大小的向量,它接受任意数量的参数,并返回包含这些参数的向量。
创建一个名为main.lisp的新源代码文件,然后在其中键入以下代码。
链接:https://www.learnfk.comhttps://www.learnfk.com/lisp/lisp-vectors.html
来源:LearnFk无涯教程网
(setf v1 (vector 1 2 3 4 5)) (setf v2 #(a b c d e)) (setf v3 (vector 'p 'q 'r 's 't)) (write v1) (terpri) (write v2) (terpri) (write v3)
当您执行代码时,它返回以下输出-
#(1 2 3 4 5) #(A B C D E) #(P Q R S T)
请注意,LISP使用#(...)语法作为向量的文字表示法,您可以使用此#(...)语法在代码中创建并包括文字向量。
make-array 函数是创建向量的更通用的方法,您可以使用 aref 函数访问矢量元素。
创建一个名为main.lisp的新源代码文件,然后在其中键入以下代码。
链接:https://www.learnfk.comhttps://www.learnfk.com/lisp/lisp-vectors.html
来源:LearnFk无涯教程网
(setq a (make-array 5 :initial-element 0)) (setq b (make-array 5 :initial-element 2)) (dotimes (i 5) (setf (aref a i) i)) (write a) (terpri) (write b) (terpri)
当您执行代码时,它返回以下输出-
#(0 1 2 3 4) #(2 2 2 2 2)
make-array - 函数使您可以创建可调整大小的向量。
fill-pointer - 函数参数跟踪向量中实际存储的元素数。
vector-push - 函数允许您在可调整大小的向量的末尾添加一个元素。它将填充指针增加1。
vector-pop - 函数返回最近推送的项目,并将填充指针减1。
创建一个名为main.lisp的新源代码文件,然后在其中键入以下代码。
链接:https://www.learnfk.comhttps://www.learnfk.com/lisp/lisp-vectors.html
来源:LearnFk无涯教程网
(setq a (make-array 5 :fill-pointer 0)) (write a) (vector-push 'a a) (vector-push 'b a) (vector-push 'c a) (terpri) (write a) (terpri) (vector-push 'd a) (vector-push 'e a) ;this will not be entered as the vector limit is 5 (vector-push 'f a) (write a) (terpri) (vector-pop a) (vector-pop a) (vector-pop a) (write a)
当您执行代码时,它返回以下输出-
#() #(A B C) #(A B C D E) #(A B)
向量是序列,所有序列函数都适用于向量。
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)
Spring Cloud 微服务项目实战 -〔姚秋辰(姚半仙)〕