Baskı var. Doğrudan stdout'a yazdırır.Clojure sprintf?
Sprintf hakkında, printf ile aynı şekilde formatlar ancak yan etki olmadan bir dize döndürür?
o format denilen veclojure.core
bulunur oluyor Clojure ise
Baskı var. Doğrudan stdout'a yazdırır.Clojure sprintf?
Sprintf hakkında, printf ile aynı şekilde formatlar ancak yan etki olmadan bir dize döndürür?
o format denilen veclojure.core
bulunur oluyor Clojure ise
: printf
(comp print format)
eşdeğerdir.
clojure.pprint
lib adresindeki cl-format
ürününü incelemelisiniz. Common Lisp'in FORMAT işlevinin bir bağlantı noktası. Bu cl-format
ile, vb seqs yineleme,
sorunuzu cevaplamak için Java en printf
Koşullamalar gibi yapamaz şeyler yapabilir, nil
birinci argüman bir dize döndürür; true
'un ilk argümanı STDOUT'a yazdırılacaktır. Bir kütüphane sadece bu baskılar bir işlev sağlar zaman
user> (with-out-str (printf "%s" :foo))
":foo"
with-out-str
faydalıdır: format
zaten Clojure içinde olmasaydı, ayrıca böyle Clojure en printf
çıkış yakalayabilir ki
user> (cl-format nil "~{~R~^, ~}" [1 2 3 4])
"one, two, three, four"
Not STDOUT ve bunun yerine çıktı yakalamak istersiniz. Bunu yapan Java kitaplıklarında çalışıyorum.
ile aşımı-str makro kullanarak düşünün:
(with-out-str
(print x))
Ya da sadece java.lang.String biçiminin yöntemini çağırın:
(String/format "%d" 3)
bu java libs Clojure en yazma olmaz \ * dışarı \ *, yapacaklar mı? System/setOut'u var kullanan bir PrintWriter ile ele geçirmeniz gerekir. – gtrak