Получение ошибки «переменная AREF не имеет значения» в CLISP при попытке печати элементов массива один за другим - PullRequest
0 голосов
/ 28 сентября 2018

Я пытаюсь напечатать значение массива в 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и не понимаю, почему я получаю вышеуказанную ошибку.

1 Ответ

0 голосов
/ 28 сентября 2018

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 является функцией относительно низкого уровня.Вы, вероятно, хотите использовать вариант print или princ.

...