评论者:m0smith_
我提出这个请求的真实想法。我们真想将字符串生成器的数量翻倍吗?更不用说还有数组等其他事情。
另一个想法是新增一个单一的生成器,to-string,可以接受不同的字符生成器,并使用它根据元素生成器来生成字符串
(defn to-string
([element-gen] (to-string element-gen {})))
([element-gen [{:keys [num-elements min-elements max-elements max-tries ] :or {num-elements nil min-elements 0 max-elements nil max-retries 10}}]
(fmap clojure.string/join (vector char-gen ==apply-options==))))
我省略了处理选项的代码,但希望您能理解这个想法。
它可以这样使用: (to-string char {:min-elements 5 :max-elements 10}) 或者 (to-string char-ascii {:num-elements 5})
这样就有可能添加新的字符生成器,这些生成器可以很容易地转换成字符串。