у меня есть:
(ps:ps (ps:var vertices (ps:lisp (cons 'list *VERTICES*))))
, который оценивается как:
"var vertices = [0.0, -200.0, 0, ... 0.4, 40];"
, который является правильным ожидаемым результатом.
Где:
Однако, когда *VERTICES*
большое, оценка приводит к ошибке:
Ошибка: слишком много аргументов.
При выполнении: PARENSCRIPT :: COMPILE-SPECIAL-FORM, в обработчике процесса (1).
Как обойти эту ошибку?
Не зная, как на самом деле работает parenscript, эту проблему трудно решить. Поэтому я попытался изменить способ передачи списка в ps.
Вот несколько неудачных попыток:
(ps:ps (ps:var vertices (ps:lisp (list *VERTICES*))))
=> "var vertices = 1(2, 3, 4, 0, 9, 0.1)();"
(ps:ps (ps:var vertices (ps:lisp *VERTICES*)))
=> "var vertices = 1(2, 3, 4, 0, 9, 0.1);"
(ps:ps (ps:var vertices *VERTICES*))
=> "var vertices = VERTICES;"
Нет правильных ожидаемых результатов.
Как правильно передать значение переменной списка Lisp в parenscript для формирования правильного оператора присваивания переменной массива javascript?