Haskell 使用shuffleM进行列表洗牌
我试着写一个函数,它接受一个列表并给出它的排列。在ghci中,我可以这样做:Haskell 使用shuffleM进行列表洗牌,haskell,Haskell,我试着写一个函数,它接受一个列表并给出它的排列。在ghci中,我可以这样做: >let xs=[1..10] >ys <- shuffleM xs >让xs=[1..10] >你能做什么 main :: IO () main = do let xs = [1..10] ys <- shuffleM xs print $ doSomething ys doSomething :: [Integer] -> Integer doSomethi
>let xs=[1..10]
>ys <- shuffleM xs
>让xs=[1..10]
>你能做什么
main :: IO ()
main = do
let xs = [1..10]
ys <- shuffleM xs
print $ doSomething ys
doSomething :: [Integer] -> Integer
doSomething = sum
main::IO()
main=do
设xs=[1..10]
ys整数
doSomething=总和
比如说。我不确定shuffleM从哪里来,但是如果它来自库,那么你只需要在实现了MonadRandom的monad中使用它,MonadRandom包括IO
。然后,您可以像处理任何其他列表一样处理无序列表