开发者社区> 问答> 正文

Clojure Spec中的`&`和`and`有什么区别?

我似乎很难区分Clojure Spec &和和and运算符的含义。他们似乎都做着同样的事情,只有一个被称为正则表达式运算符,我不确定我是否知道这很重要。

展开
收起
游客ufivfoddcd53c 2020-01-04 16:11:11 868 0
1 条回答
写回答
取消 提交回答
  • 如果我们从它们中采样一些数据,我们可以看到两者之间的区别:

    (ns playground
      (:require [clojure.spec     :as spec]
                [clojure.spec.gen :as gen]))
    
    (gen/generate (spec/gen (spec/and #{:a :c} #{:b :a :c})))
    => :a
    (gen/sample (spec/gen (spec/and #{:a :c} #{:b :a :c})))
    => (:c :a :c :a :a :a :a :a :a :c)
    
    2020-01-04 16:11:32
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载