2024 Clojure 状态调查!中分享您的想法。

欢迎!关于如何使用本站的信息,请查看关于页面。

0
ClojureScript

使用布尔闭包定义时的问题

3 个回答

0
_评论由:favila_ 发表

我不确定这是否是相同的问题,但诸如 {{^boolean (js/isFinite n)}} 这样的形式似乎也不会被正确分析:{{if}}、{{and}} 和 {{or}} 仍然会调用 {{truth_}}。
0
_评论由:mfikes_ 发表

这似乎已无法重现


$ java -jar cljs.jar -m cljs.repl.node
ClojureScript Node.js REPL 服务器正在监听 51236
要退出,请输入::cljs/quit
cljs.user=> *clojurescript-version*
"1.9.946"
cljs.user=> (set! *print-fn-bodies* true)
true
cljs.user=> (fn [n] (if ^boolean (js/isFinite n) 1 2))
#object[ret__6224__auto__ "function (n){
if(isFinite(n)){
return (1);
} else {
return (2);
}
}"]
cljs.user=> (fn [n] (if (js/isFinite n) 1 2))
#object[ret__6224__auto__ "function (n){
if(cljs.core.truth_(isFinite(n))){
return (1);
} else {
return (2);
}
}"]
0
...