clojure - 在 Clojure 中测试 "self-evaluating"原子的单个谓词

标签 clojure predicate

Clojure 的主页,有如下语句:

Strings, numbers, characters, true, false, nil and keywords evaluate to themselves.

是否有一个组合谓词可以测试其中的任何一个,组合字符串?数字?字符? true?false?nil?关键字?。我应该只使用 (补码吗?)

最佳答案

也许我遗漏了一些东西,但您可以使用以下内容来测试任何这些条件,如果条件成立则返回 true:

(defn self-eval?
  [x]
  (or (string? x)
      (number? x)
      (char? x)
      (keyword? x)
      (true? x)
      (false? x)
      (nil? x)))

关于clojure - 在 Clojure 中测试 "self-evaluating"原子的单个谓词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6520365/

相关文章:

java - 对于与 Doseq(和方法代码太大)

unit-testing - 单元测试 Java 8 谓词

clojure - 如何更好地迭代 Clojure 中的状态(monad?)

clojure - 有没有办法将 REPLY 设置为始终打印?

multithreading - Clojure 的 Atom 的 Scala 等价物是什么?

ios - 根据FK中的值查询表

swift - 核心数据和关系谓词

以简洁的方式在 java8 Predicate 中记录条件结果

java - 使用谓词作为单元测试的参数

scala - Akka 中的 Futures 和 Agents 比 Clojure 的同类产品有什么优势?