如何使用 `Array.from` 将 javascript 代码片段翻译成 Parenscript(Common Lisp 库)?

How to translate a javascript code snippet using `Array.from` to Parenscript (Common Lisp library)?

我有这个代码片段在浏览器上使用 JavaScript:

Array.from(document.querySelectorAll('input'))

document.querySelectorAll('input')获取一个NodeList,Array.from将其转换为数组。

我正在尝试将其转换为函数内的 Parenscript 为:

(ps:chain  array (from  (ps:chain document (query-selector "input")))))

这很接近:

"array.from(document.querySelector('input'));"

甚至还有一个小技巧可以通过 -array:

的连字符来实现大写字母
(ps:ps   (ps:chain  -array (from  (ps:chain document (query-selector "input")))))

生成:

"Array.from(document.querySelector('input'));"

但是调用时并没有按预期工作。它 returns 一个空字符串。

我该如何解决?

Obs.:我正在使用 Common Lisp/SBCL。

目前,只有 Parenscript returns 原始值是:

  1. 未定义;
  2. 布尔值;
  3. 人数;
  4. 字符串;
  5. 大初始化;并且,
  6. 符号。

代码 document.getElementsByTagName('input') 没有返回一个 字符串,它正在返回一些对象。这就是它无法工作的原因。

Source.