Lisp:将数字转换为字符串

fpt*_*fpt 2 lisp string numbers concatenation

什么是将数字转换为字符串的好 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)))
Run Code Online (Sandbox Code Playgroud)

-> foo0 foo1 foo2 foo3

所有数字都是整数。

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

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

Rai*_*wig 5

(intern (format nil "~a~a" "FOO" 42) "WHAT-EVER-PACKAGE-YOU-WANT")
Run Code Online (Sandbox Code Playgroud)

  • 这些只是告诉读者不要在阅读时将打印的表示大写。 (2认同)