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 投票
...