_由:xcthulhu_发表的评论
例如,如果要创建一个生成长度在5到11或20到40个元素的向量生成器,组成是关键词 `:a` 或 `:b`,用户需要编写类似以下内容
(gen/fmap (fn [[n gens]] (take n gens)))
(gen/tuple (spec/gen (spec/or :short (int-in 5 11)
:long (int-in 20 40)))
(gen/vector (gen/elements #{:a :b}) 40)))
使用此补丁,他们可以这样编写
(gen/let [length (spec/or :short (int-in 5 11)
:long (int-in 20 40))]
(repeat length #{:a :b}))