Last active
December 19, 2016 08:37
-
-
Save zhouqiang-cl/2c1eaf674d7473bc174da312fc13fecf to your computer and use it in GitHub Desktop.
common lisp 的函数 MAKE-ARRAY
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
语法 | |
make-array dimensions &key element-type initial-element initial-contents adjustable fill-pointer displaced-to displaced-index-offset | |
参数和值 | |
dimensions --- array 的大小和维度的指示符 | |
element-type --- 类型描述符, 默认为 t | |
initial-element --- 一个 object, 每个element 都初始化成这个 | |
initial-contents --- 一个 object, 将 整个数组 初始化成这个。 | |
adjustable --- 一个 generalized boolean, 默认为 nil | |
fill-pointer --- array 的 fill-pointer 或者 t 或 nil | |
displaced-to --- 一个 array 或者 nil, 默认为 nil, 如果 initial-element 或者 initial-contents 提供了, 那这个参数就不应该提供 | |
new-array --- 一个 array | |
描述 | |
创建一个 array. | |
initial-element 和 initial-contents 不能同时使用 | |
如果 fill-pointer 不为 nil, 那么 array 必须是一维数组, fill-pointer 指示从这个index开始, 后面都是非活跃的 | |
如果 adjustable 不为 nil, 那么 array 是显式可调整的 | |
代码 | |
* (make-array '(4 2 3) :initial-contents | |
'(((a b c) (1 2 3)) | |
((d e f) (3 1 2)) | |
((g h i) (2 3 1)) | |
((j k l) (0 0 0)))) | |
#3A(((A B C) (1 2 3)) ((D E F) (3 1 2)) ((G H I) (2 3 1)) ((J K L) (0 0 0))) | |
* (make-array '(4 2 3) :initial-element '3) | |
#3A(((3 3 3) (3 3 3)) ((3 3 3) (3 3 3)) ((3 3 3) (3 3 3)) ((3 3 3) (3 3 3))) | |
* (make-array '(4 2 3) :initial-element '(2 3)) | |
#3A((((2 3) (2 3) (2 3)) ((2 3) (2 3) (2 3))) | |
(((2 3) (2 3) (2 3)) ((2 3) (2 3) (2 3))) | |
(((2 3) (2 3) (2 3)) ((2 3) (2 3) (2 3))) | |
(((2 3) (2 3) (2 3)) ((2 3) (2 3) (2 3)))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment