common-lisp - 在 common lisp 中访问向量

标签 common-lisp ansi-common-lisp

(setf vec (make-array 4 :initial-element nil))
(svref vec 0)

在上面的代码片段中,我们创建了一个长度为 4 的向量,并通过 (svref vec ) 访问它的元素。

(vector 1 2 3 4 5)

在上面的代码片段中,我们使用向量函数创建了一个长度为 5 的向量。我们如何访问这个向量的元素?这个向量如何使用 svref?

最佳答案

通用向量引用函数是aref,与所有其他数组相同。

Svref 仅适用于简单向量,即。 e.具有element-type t 的向量,不可调整,无填充指针,无位移。

顺便说一句,vector 确实生成了一个简单的矢量,因此 svref 也应该适用于您的第二个示例。

其他问题:

  • 我猜你的意思是 :initial-element
  • 无需引用数字文字,它们会自行评估。

关于common-lisp - 在 common lisp 中访问向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48151265/

相关文章:

lisp - 在 Lisp 的可调数组中插入元素

clojure - 为什么有些 lisp 将函数名放在函数定义的参数列表之外?

lisp - 字符打印两次以上(Common Lisp)

common-lisp - ASDF 抛出系统过时条件

oop - 如何在common lisp/CLOS中定义和调用类方法

lisp - apply & funcall - 不同的结果

lisp - GCL中的条件如何处理?

lisp - 在 Common Lisp 中,您将如何扩展现有的比较器操作以适用于新类型?

common-lisp - common-lisp中有关可选参数的错误