尝试一个一个地打印数组元素时在 CLISP 中出现错误 "variable AREF has no value "

Getting error "variable AREF has no value " in CLISP while trying to print array elements one by one

我试图在 CLISP 中打印数组的值,我在下面写了函数:

(setq x (make-array '5 :initial-contents '(a b c d e)))
(loop for i from 0 to 4 do (write aref x i))

但是我收到错误

*** - PROGN: variable AREF has no value 
      The following restarts are available:
 USE-VALUE      :R1      Input a value to be used instead of AREF.
 STORE-VALUE    :R2      Input a new value for AREF.

我是 CLISP 的新手,不明白为什么会出现上述错误。

AREF 是一个 函数 ,而不是 变量 。 您缺少一组括号:(aref x i):

(loop for i from 0 to 4 do (write (aref x i)))

或者只是

(loop for e across x do (write e))

PS。请注意 write 是一个 相对低级的功能。 您可能想使用 printprinc.

的变体