我有2个绑定我正在调用路径和回调.
我要做的是返回第一个非空的.在javascript中它看起来像这样:
var final = path || callback || "";
Run Code Online (Sandbox Code Playgroud)
我怎么在clojure中这样做?
我正在看"某些"功能,但我无法弄清楚如何将compjure.string/blank检查结合起来.我目前将此作为测试,但不起作用.在这种情况下,我认为它应该返回零.
(some (clojure.string/blank?) ["1" "2" "3"])
Run Code Online (Sandbox Code Playgroud)
在这种情况下,它应该返回2
(some (clojure.string/blank?) ["" "2" "3"])
Run Code Online (Sandbox Code Playgroud)
(first (filter (complement clojure.string/blank?) ["" "a" "b"]))
Run Code Online (Sandbox Code Playgroud)
编辑:正如评论中指出的那样,(filter (complement p) ...)
可以改写为(remove p ...)
:
(first (remove clojure.string/blank? ["" "a" "b"]))
Run Code Online (Sandbox Code Playgroud)
如果您很幸运拥有由 nil 和/或 false 表示的“空值”,您可以使用:
(or nil false "2" "3")
Run Code Online (Sandbox Code Playgroud)
哪个会返回"2"
。
与您的 JavaScript 示例等效的是:
(let [final (or path callback "")]
(println final))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3005 次 |
最近记录: |