2

将数字转换为字符串的好 Common Lisp 函数是什么?

我希望将数字转换为字符串,如:42 -> "42"

最终,我想将一个字符串和一组数字连接成一组符号,例如:

(loop for i upto 3
 collect (concatenate 'string "foo" (some-conversion-function i)) into stngs
 finally (return (mapcar #'read-from-strings stngs)))

-> foo0 foo1 foo2 foo3

所有数字都是整数。

我已经使用 (read-from-string (concatenate 'string ...)) 完成了所有工作,除了我缺少一个将数字转换为字符串或其他将连接为字符串的序列的函数。

或者,如果我可以完全跳过字符串并将符号和数字连接成一个符号,那当然会很棒,例如: foo 0 -> foo0 ...如果有人可以命名一个连接符号的 Common Lisp 函数直接地。

4

2 回答 2

5
(intern (format nil "~a~a" "FOO" 42) "WHAT-EVER-PACKAGE-YOU-WANT")
于 2013-10-22T16:59:34.120 回答
2

Grr,尽管我在发布我的问题之前一直在 Stack Overflow 搜索“lisp”、“数字”和“字符串”的各种组合,但直到 Stack Overflow 决定向我展示什么是“相关”之前,我都没有找到 write-to-string 或类似内容“对我的问题。>|O

无论如何,write-to-strings 非常适合将数字转换为字符串: convert number to string in lisp

但是将符号和数字直接连接到符号仍然会更好。

于 2013-10-22T17:03:39.817 回答