gpt4 book ai didi

haskell - 从 Gen (Maybe Int) 转换为 Maybe Int

转载 作者:行者123 更新时间:2023-12-02 22:24:54 26 4
gpt4 key购买 nike

我想将 Gen (Maybe Int) 转换为 Maybe Int。我有一个生成 1 到 9 之间的随机 Just Int 的函数。我想使用单元格函数,但我无法更改其类型签名中的任何内容。有什么建议吗?

 cell :: Gen (Maybe Int)
cell = frequency
[(9, return Nothing),
(1, do n <- choose (1,9)
return (Just n))]

最佳答案

有一些方法可以做到这一点

> sample' cell
[Nothing,Just 5,Nothing,Nothing,Just 7,Nothing,Nothing,Nothing,Nothing,Just 6,Nothing]

它将生成一个随机 cell 列表。如果只想获取一个元素,可以调用 head。

你可以使用unGen作为

main = do
s <- newStdGen
print $ unGen cell s 100 -- 100 is arbitrary

关于haskell - 从 Gen (Maybe Int) 转换为 Maybe Int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13111244/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com