请在 2024 Clojure 状况调查! 中发表您的想法。

欢迎!请参阅 关于 页面,了解更多关于如何使用此网站的信息。

0
打印

在 Common Lisp 中,(format nil "~a" :A) 返回 "A"。然而,在 Clojure 中,它将冒号返回

(clojure.pprint/cl-format false "~a" :A) => ":A"

5 个回答

0

评论者:jongwon.choi

发现了 cl-format 的另一个问题

(clojure.pprint/cl-format false "SELECT from RateSchedules ~@(link: WHERE ~{~A=?~^ ~}~)" '())
=> "SELECT
from RateSchedules WHERE" ;; 应该是 "SELECT * from RateSchedules"

我认为问题是 () 或 (link: ) 需要被视为假值,但实际上并不是。

0

评论者:alexmiller

:a 是一个关键词,我预期它的 ASCII 格式应该是 :a。我不确定大小写敏感性与这个问题有什么关系。

0

评论者:jafingerhut

Alex,大小写是一个次要问题。Common Lisp 的 (format nil "~a" :A) 返回 "A",而不是 ":A"。问题在于输出的冒号,而不是字符串的大小写。

0

评论者:jongwon.choi

对于一条记录,亚历克斯描述的适用于 ~S - 标准。参见http://www.lispworks.com/documentation/lw50/CLHS/Body/22_cd.htm

0
参考资料:https://clojure.atlassian.net/browse/CLJ-1818(由一个用户报告)
...