gpt4 book ai didi

list - 具有任意数量生成器的 Haskell 列表理解

转载 作者:行者123 更新时间:2023-12-04 06:43:40 25 4
gpt4 key购买 nike

到目前为止,我所拥有的是这样的:

combs :: [[Char]]
combs = [[i] ++ [j] ++ [k] ++ [l] | i <- x, j <- x, k <- x, l <- x]
where x = "abc"

所以这是 n = 4 的工作函数,有没有办法让它对任意数量的生成器都有效?我可以为 n = 1、2、3 等编程。但理想情况下需要它为任何给定的 n 工作。作为引用,x 只是一个由唯一字符组成的任意字符串。我正在努力想办法以某种方式提取它以供 n 个生成器使用。

最佳答案

你可以使用replicateM:

replicateM :: Applicative m => Int -> m a -> m [a]

例如:

generate :: Num a => Int -> [[a]]
generate = flip replicateM [1,2,3]

生成所有可能的给定长度的列表并由元素 1..3 组成。

关于list - 具有任意数量生成器的 Haskell 列表理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47237687/

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