我遇到了与Haskell Random generator相关的问题.在大学里,我必须一直处理Java,所以现在我已经腐败了.我正在Haskell开发一款游戏,现在我面临的是"有机会做某事",这种机会需要像Int -> Bool.在Java中,我会做到的
new Random().nextInt(100)
Run Code Online (Sandbox Code Playgroud)
问题解决了!在Haskell中,我必须在monad IO中选择一些东西或者使用种子.这些都不是我想要的.我真的不想在我的纯模型中使用IO monad,种子很难用,因为我每次都需要记住我的新种子......
有没有简单的像Java的随机?
Dan*_*ner 12
信不信由你,你必须在Haskell中使用不同于Java的方法.有几个包可以帮助你,但你必须有一个不同的态度在你的头脑中成功使用它们.以下是一些指示:
在Hackage的软件包列表中搜索"random"这个词会出现更多,更具体的软件包,以满足更具体的需求.
对不起,但你将不得不忍受.如何在纯函数式语言中使用函数,在每次调用时为您提供不同的值?答案是:它不能 - 只能在IO-Monad或类似于状态monad的东西,你可以传递你的种子(并且每次没有相同的输入)可以存在这样的事情.
您也可以看一下这个问题" 功能编程中如何存在时间函数? ",因为它与您的方向相同.
| 归档时间: |
|
| 查看次数: |
1728 次 |
| 最近记录: |