metosin/malli

Function generators return constant function if seed provided

Open

#1,039 创建于 2024年4月16日

在 GitHub 查看
 (0 评论) (0 反应) (0 负责人)Clojure (1,724 star) (237 fork)batch import
enhancementgeneratorhelp wanted

描述

This is because we use mg/generate to generate the return value, which always returns the same thing with the same seed.

(repeatedly 10 (mg/generate [:=> :cat :int]))
;=> (-480372 -103 7423 229 83 7937941 -4610 24 -1 21924979)
(repeatedly 10 (mg/generate [:=> :cat :int] {:seed 0}))
;=> (1784201 1784201 1784201 1784201 1784201 1784201 1784201 1784201 1784201 1784201)

;; even for different inputs
(mapv (mg/generate [:=> [:cat :int] :int] {:seed 0}) (range 10))
;=> [1784201 1784201 1784201 1784201 1784201 1784201 1784201 1784201 1784201 1784201]

贡献者指南