2024年Clojure调查问卷中分享您的想法!

欢迎!有关如何使用本网站,请参阅关于页面以获取更多信息。

0
ClojureScript

使用布尔Closure定义的问题

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
参考: https://clojure.atlassian.net/browse/CLJS-1070(由dnolen报告)
...