相关疑难解决方法(0)

Haskell中的随机数

我想在Haskell中获取一个随机数.(我目前正在学习并且还没有使用Monads或IO等)问题是System.Random中的函数都返回一个IO Int,然后我不能在我的其余代码中使用它Int和Float.

这里的目标是从列表中选择一对,其中该对中的第一个是表示概率的浮点数.所以我的计划是使用随机数根据其概率选择一对.

random haskell

22
推荐指数
4
解决办法
2万
查看次数

如何在Haskell中从IO操作中获取正常值

我有以下功能:

get :: Chars -> IO Chars
get cs = do
    char <- getChar
    let (dats, idx) = (curData cs, curIndex cs)
    let (x,y:xs) = splitAt idx dats
    let replacement = x ++ (ord char) : xs
    return $ Chars replacement idx
Run Code Online (Sandbox Code Playgroud)

而且我想从中得到一个Chars价值,而不是 IO行动.我知道怎么做,或者甚至可能.

Chars基本上只是一个[Int]名为curData且Int名为curIndex的容器.细节并不重要,我只是想知道这个函数是否有办法返回一个Chars而不是一个IO Chars.

如果没有,我如何将此作为参数传递给一个带有Chars?的函数?我是Haskell IO的新手,但我不认为我希望所有Chars以参数为参数的函数都必须IO Chars作为参数,然后提取并重新打包它们.这似乎没必要.

谢谢!

io monads haskell

18
推荐指数
2
解决办法
1万
查看次数

标签 统计

haskell ×2

io ×1

monads ×1

random ×1