博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Common Lisp专题4:数组
阅读量:5947 次
发布时间:2019-06-19

本文共 1794 字,大约阅读时间需要 5 分钟。

hot3.png

1)用make-array创建数组:

CL-USER> (make-array 5 :initial-element nil)#(NIL NIL NIL NIL NIL)CL-USER> (make-array 5 :initial-contents '(a e i o u))#(A E I O U)CL-USER> (setf arr (make-array 5 :initial-contents '(a e i o u)))#(A E I O U)CL-USER> arr#(A E I O U)

也可以简单一点:

CL-USER> (setf a '#(nil nil nil nil nil))#(NIL NIL NIL NIL NIL)

2)创建二维数组:

CL-USER> (setf arr (make-array '(2 3) :initial-element nil))#2A((NIL NIL NIL) (NIL NIL NIL))CL-USER> (make-array (list 2 2))#2A((0 0) (0 0))CL-USER> (make-array (list 2 2) :initial-contents '((1 2) (3 4)))#2A((1 2) (3 4))CL-USER> (make-array '(2 2) :initial-contents '((a b) (c d)))#2A((A B) (C D))CL-USER> (setf arr (make-array '(2 3) :initial-element nil))#2A((NIL NIL NIL) (NIL NIL NIL))CL-USER> arr#2A((NIL NIL NIL) (NIL NIL NIL))

3)用aref访问数组元素

CL-USER> (setf arr (make-array '(2 3) :initial-element nil))#2A((NIL NIL NIL) (NIL NIL NIL))CL-USER> arr#2A((NIL NIL NIL) (NIL NIL NIL))CL-USER> (make-array 5 :initial-element nil)#(NIL NIL NIL NIL NIL)CL-USER> (setf arr (make-array 5 :initial-element nil))#(NIL NIL NIL NIL NIL)CL-USER> (aref arr 0)NILCL-USER> (aref arr 3)NILCL-USER> (setf arr (make-array 5 :initial-contents '(a e i o u)))#(A E I O U)CL-USER> arr#(A E I O U)CL-USER> (aref arr 0)ACL-USER> (aref arr 3)OCL-USER> (setf arr (make-array '(2 2) :initial-contents '((a b) (c d))))#2A((A B) (C D))CL-USER> arr#2A((A B) (C D))CL-USER> (aref arr 0 1)BCL-USER> (aref arr 1 0)CCL-USER> (aref arr 1 1)D

4)访问二维数组

CL-USER> (setf arr (make-array '(2 2) :initial-contents '((a b) (c d))))#2A((A B) (C D))CL-USER> arr#2A((A B) (C D))CL-USER> (aref arr 0 0)ACL-USER> (aref arr 1 0)C

5)一维数组也是向量

CL-USER> (vector "a" 'b 5)#("a" B 5)CL-USER> (setf arr (vector "a" 'b 5))#("a" B 5)CL-USER> arr#("a" B 5)

(未完待续。。。)

转载于:https://my.oschina.net/u/241930/blog/596594

你可能感兴趣的文章
线程存储简介
查看>>
WEEX系列 我的第一个WEEX DEMO
查看>>
Deploy NodeJS Docker to QiO Edge Cloud using Kubernetes
查看>>
【Hadoop学习】HDFS基本原理
查看>>
关于解决IE8以下版本获取DOM节点的方法
查看>>
vue学习笔记(二)
查看>>
Flask四之模板
查看>>
要不, 我们从右往左书写数组?
查看>>
我的面试准备过程--LeetCode(更新中)
查看>>
【145天】尚学堂高淇Java300集视频精华笔记(103-104)
查看>>
如何在 React Native 中写一个自定义模块
查看>>
SegmentFault 2017 年社区周报 Vol.5
查看>>
JS用原型对象写的贪吃蛇,很粗糙的代码
查看>>
mac安装consul
查看>>
JavaScript深入之bind的模拟实现
查看>>
Learning Notes - Understanding the Weird Parts of JavaScript
查看>>
SegmentFault 2017 年社区周报 Vol.4
查看>>
两种方式javascript实现图片预览
查看>>
数据结构面试 之 单链表是否有环及环入口点 附有最详细明了的图解
查看>>
RancherOS v0.8.0发布:支持离线安装,更佳部署体验
查看>>