11
A
回答
15
在Clojure中,它被稱爲format並位於clojure.core
:printf
相當於(comp print format)
。
9
你應該檢查出cl-format
,在clojure.pprint
lib。它是Common Lisp的FORMAT函數的一個端口。它可以做的事情,Java的printf
不能做,像條件語句,遍歷seqs等
要回答你的問題,與cl-format
的nil
第一個參數將返回一個字符串;第一個參數true
將打印到STDOUT。
user> (cl-format nil "~{~R~^, ~}" [1 2 3 4])
"one, two, three, four"
注意,如果format
尚未Clojure中的存在,你還可以捕捉從Clojure的printf
像這樣的輸出:
user> (with-out-str (printf "%s" :foo))
":foo"
with-out-str
是有益的,當一個庫只提供了一個功能,打印到STDOUT,而您想要捕獲輸出。我已經運行了這樣做的Java庫。
5
考慮使用與出-STR宏:
(with-out-str
(print x))
或者只是叫java.lang.String中的格式的方法:
(String/format "%d" 3)
相關問題
- 1. 的sprintf
- 2. PHP複雜Sprintf
- 3. PHP sprintf格式
- 4. 在sprintf的
- 5. 與sprintf的
- 6. factory_girl和sprintf
- 7. sprintf和用C
- 8. 使用的sprintf
- 9. sprintf和php
- 10. Matlab sprintf格式
- 11. 使用的sprintf
- 12. boost :: format vs sprintf
- 13. sprintf混淆(Matlab)
- 14. 填充sprintf
- 15. Sprintf()錯誤
- 16. sprintf崩潰
- 17. Grails中的Sprintf
- 18. sprintf在Delphi中?
- 19. ZF3 - AbstractTranslatorHelper和sprintf
- 20. sprintf-Objective C
- 21. Ruby中的Sprintf
- 22. strcat()vs sprintf()
- 23. 地圖的sprintf
- 24. sprintf不能複製?
- 25. Sprintf精度限制
- 26. 使用CString與sprintf
- 27. 什麼是sprintf(「%!ld」)?
- 28. sprintf代表什麼?
- 29. printf/sprintf madiness(spontanous concatenation)
- 30. 改進sprintf爲PHP
這些Java庫不會寫Clojure的\ *總分\*, 他們會嗎?你需要用一個使用var的PrintWriter劫持System/setOut。 – gtrak 2013-08-02 23:31:56