CLTL 说道:“原则上,Common Lisp 中的数组可以具有任意数量的维度,包括零。(零维数组只有一个元素。)”
我正在谈论类似的事情
(make-array nil :initial-element 1)
据我所知,这些零维度数组甚至有自己的读取语法,如
#0A1
,但它们甚至不被视为序列,所以我无法强制/连接/遍历它们。我发现你唯一能做的就是获取/设置它的单例元素。那么使用这种不完全是数组的数组类型的目的是什么?为什么不只使用长度为 1 的数组(或者只使用不带任何包装器的值)?
很可能您可以拥有一个仅“向量”的 DSL,就像 R 那样。在 R 中,一切,甚至单个数字,都是数组/向量。