Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';Clojure doto宏示例中:printed关键字的用途是什么?_Clojure - Fatal编程技术网

什么';Clojure doto宏示例中:printed关键字的用途是什么?

什么';Clojure doto宏示例中:printed关键字的用途是什么?,clojure,Clojure,我一直在看这个Clojure,我不知道最后一个println中的:printed关键字的用途是什么 当我在REPL中输入示例时,它会像我预期的那样打印出HashMap,只是在HashMap之后显示一个:printed: user=> (doto (java.util.HashMap.) (.put "a" 1) (.put "b" 2) (println :printed)) #<HashMap {b=2, a=1}> :printed {"b" 2, "a" 1} 这一个打

我一直在看这个Clojure,我不知道最后一个
println
中的
:printed
关键字的用途是什么

当我在REPL中输入示例时,它会像我预期的那样打印出HashMap,只是在HashMap之后显示一个
:printed

user=> (doto (java.util.HashMap.) (.put "a" 1) (.put "b" 2) (println :printed))
#<HashMap {b=2, a=1}> :printed
{"b" 2, "a" 1}
这一个打印相同的内容,但是HashMap旁边没有一个
:printed
。鉴于此结果,
doto
示例不应该给出这样的结果吗:

#<HashMap {b=2, a=1}>
{"b" 2, "a" 1} :printed
#
{“b”2,“a”1}:打印

:printed
关键字在做什么?

:printed
只是将“:printed”添加到由
println
打印的字符串中。 它不会影响哈希映射

(println "Bingo" :printed)
=> Bingo :printed
(println "Bingo" :printed)
=> Bingo :printed