Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.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
Map str生成其封闭映射的字符串_Map_Clojure_Lazy Evaluation - Fatal编程技术网

Map str生成其封闭映射的字符串

Map str生成其封闭映射的字符串,map,clojure,lazy-evaluation,Map,Clojure,Lazy Evaluation,当我mapinsidestr时,我得到了clojure.lang.LazySeq的字符串化 user=> (str (map inc (range 3))) "clojure.lang.LazySeq@7861" 我已经找到并尝试了许多答案-apply,doall,doseq,不同的映射,映射使用doall和其他东西的自定义函数,尝试不同的repl,等等-但似乎无法在字符串化之前将map转换为eval 更新:这也适用于str: user=> (str "pre string " (

当我
map
inside
str
时,我得到了
clojure.lang.LazySeq
的字符串化

user=> (str (map inc (range 3)))
"clojure.lang.LazySeq@7861"
我已经找到并尝试了许多答案-
apply
doall
doseq
,不同的映射,映射使用
doall
和其他东西的自定义函数,尝试不同的repl,等等-但似乎无法在字符串化之前将
map
转换为eval

更新:这也适用于
str
:

user=> (str "pre string " (map inc (range 3)) " post string")
期望输出:

user=> "pre string 123 post string"

你需要这样的东西吗

(apply str (map inc (range 3)))
=> "123"
向我们显示所需的输出,以确保我们在同一页上

不过,我不知道你想要的输出是什么

(str "pre string " (apply str (map inc (range 3))) " post string")
=> "pre string 123 post string"
使用seq


这适用于
str
的这种特定用法。对于更一般的用例,我也需要它。我已经用附加信息更新了这个问题。这就解决了它。你得到了想要的输出,尽管我还没有发布。为了子孙后代,我编辑了这个问题来添加它。谢谢显示您所需的输出。请在
(str“pre-string”(map-inc-range 3)“post-string”)中将
(map-inc-range 3)
更改为
(map-inc-range 3))
这是一个很好的解决方案,可用于打印表单本身。谢谢
(str (seq (map inc (range 3))))
"(1 2 3)"