我正在尝试匹配 map 键的 false
值,这在 javascript 中实际上也意味着 undefined
、null
等...在我看来 core.match 与值完全匹配。有什么办法可以做到这一点吗?
另一种方法是匹配“not true
”,但文档也没有给我任何提示如何做到这一点。
最佳答案
您可以使用:或
模式:
(match [x]
[(:or false nil)] true
[_] false)
如果x
为false
或nil
,则返回true
,否则返回false
。
或者,您可以使用 :guard
模式:
(match [x]
[(_ :when not)] true
[_] false)
:when
模式也可以工作(使用 (defpred not)
),但在这种情况下,它们可能很难正确使用,并且不会给守卫带来任何好处。
关于javascript - ClojureScript core.match 中匹配 false (== undefined, null),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17658539/