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. PHP sprintf格式
- 2. sprintf-Objective C
- 3. ZF3 - AbstractTranslatorHelper和sprintf
- 4. 地图的sprintf
- 5. factory_girl和sprintf
- 6. 与sprintf的
- 7. Sprintf()错误
- 8. Matlab sprintf格式
- 9. Ruby中的Sprintf
- 10. 在sprintf的
- 11. strcat()vs sprintf()
- 12. sprintf在Delphi中?
- 13. 填充sprintf
- 14. sprintf不能复制?
- 15. PHP的sprintf逃逸%
- 16. C++约GET和sprintf
- 17. sprintf代表什么?
- 18. Sprintf分割错误
- 19. 在C#中的sprintf?
- 20. python相当于sprintf
- 21. Sprintf精度限制
- 22. sprintf的重复值
- 23. sprintf的URL在JavaScript
- 24. sprintf和LPCWSTR变量
- 25. 编码中的sprintf
- 26. PHP sprintf%d行为
- 27. 使用CString与sprintf
- 28. printf/sprintf madiness(spontanous concatenation)
- 29. sprintf(target,source)与sprintf(target,“%s”,source)有不同的行为;
- 30. sprintf的参数太少
这些Java库不会写Clojure的\ *总分\*, 他们会吗?你需要用一个使用var的PrintWriter劫持System/setOut。 – gtrak 2013-08-02 23:31:56