You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Common Lisp中vector函数创建的向量如何用svref访问?

如何访问vector函数创建的向量元素?

嘿,这事儿其实挺直观的——vector函数创建的向量和make-array生成的向量是完全相同的类型,所以你完全可以用已经熟悉的svref来访问它的元素,用法没有任何区别。

具体操作示例

  • 先创建你的向量:
    ; 创建包含1、2、3、4、5的向量
    (setf my-vec (vector 1 2 3 4 5))
    
  • 用svref访问元素,语法是(svref 向量对象 索引),记住Common Lisp里向量的索引是从0开始计数的:
    • 取第一个元素(值为1):
      (svref my-vec 0) ; 执行后返回1
      
    • 取第三个元素(值为3):
      (svref my-vec 2) ; 执行后返回3
      
    • 取最后一个元素(值为5):
      (svref my-vec 4) ; 执行后返回5
      

额外小技巧

你甚至可以用setf配合svref修改向量里的元素,比如:

; 把第一个元素改成100
(setf (svref my-vec 0) 100)
; 再访问的话就会得到100
(svref my-vec 0) ; 返回100

内容的提问来源于stack exchange,提问作者Sanket Alurkar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:38:27