如果在REPL我输入:
(type-of (make-array 5))
然后我收到回复:
(SIMPLE-VECTOR 5)
足够公平。所以如果在REPL我输入:
(type-of (make-array (list 5 3 2)))
然后我收到回复:
(SIMPLE-ARRAY T (5 3 2))
我有两个问题。
T
在这告诉我什么?如果它是NIL
,那会告诉我什么?答案 0 :(得分:8)
(SIMPLE-ARRAY T (5 3 2))
是一个包含三维的简单数组。 T
表示它是一个通用数组,可以包含任何元素类型。 T
是最常见的类型。
hyperspec在这里记录SIMPLE-ARRAY类型:
http://www.lispworks.com/documentation/HyperSpec/Body/t_smp_ar.htm
答案 1 :(得分:1)
1)如果T为NIL,你将拥有一个三维数组,专门用于不存储数据(没有元素的类型为NIL;我相信所有类型都是超类型的NIL)。