Common Lisp专题4:数组
2016-01-03 00:00
197 查看
1)用make-array创建数组:
也可以简单一点:
2)创建二维数组:
3)用aref访问数组元素
4)访问二维数组
5)一维数组也是向量
(未完待续。。。)
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) NIL CL-USER> (aref arr 3) NIL 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> (aref arr 0) A CL-USER> (aref arr 3) O 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 1) B CL-USER> (aref arr 1 0) C CL-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) A CL-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)
(未完待续。。。)
相关文章推荐
- (一)TCP编程-线程客户端与服务端的交流
- (二)客户端与一个服务端进行聊天。线程池
- (三)服务器群发收到的信息(线程)
- URL下载数据、模拟登录或上传
- URL下载数据到其他工具类,不存到其他地方用内存流
- HttpApache下载数据
- HttpHttpApache两种上传方法
- Sax的两种解析方法
- KeyLock:细粒度的Lock实现
- 基于zookeeper和storm的车载流式计算框架
- 【嘉兴东臣php】HTML5、CSS3学习周总结
- frame和bounds的区别
- 虚拟机centOS中安装Redis,主机Redis Destop Manager不能访问虚拟机Red
- Redis最有用的中文资源,你值得拥有
- 在Windows下搭建React-Native Android开发环境
- ubuntu server 14.04 使用 git 安装 ODOO8 教程
- python 利用模板文件生成配置文件
- 各种软件破解方法
- SlidingMenu 源码分析
- iOS 开发流程笔记