_评论由: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}))