Lisp新手在这里。
我想从标准中读取一串字符,例如:
aabc
我想将该输入转换为列表,其中每个字符都成为列表元素:
(a a b c)
我想将列表分配给全局变量text
。
我创建了这个函数:
(defun get-line ()
(setf text (read)))
但这只会导致将单个符号分配给text
,而不是将输入标记为符号列表。
请问实施get-line()
的正确方法是什么?
答案 0 :(得分:1)
\\StringFileInfo\\<lang><codepage>\\ProductVersion
请注意,因为CL中的符号不区分大小写,并且默认情况下会被读取器升级。
答案 1 :(得分:1)
在这里:首先使用强制将字符串转换为字符列表,然后 mapcar 将每个字符转换为字符串。
(defun get-line ()
(setf text (mapcar 'string (coerce (string (read)) 'list))))