【发布时间】:2011-04-27 10:01:23
【问题描述】:
如何将 Haskell IO 列表转换为普通列表?
IO [value] -> [value]
有没有内置函数可以做到这一点?
【问题讨论】:
-
你是如何学习 Haskell 的?没有办法逃脱单子(muhaha!)。但是,您可以使用
do表示法中的<-将其解包,将其提供给纯函数并使用它执行其他所有操作,只要您在最后返回一个 IO 值。 -
你不能不做真正肮脏的事情。这个问题似乎每周左右都会出现,例如stackoverflow.com/questions/5090779/…
-
如果存在这样的功能,您可以使用它来使您的程序崩溃。 Haskell 的语义应该防止这种情况发生,这就是为什么所有这些函数都被标记为“不安全”的原因。
-
你可以,但这几乎可以肯定是解决潜在问题的错误方法。你的根本问题是什么?为什么要
IO [value] -> [value]? -
123Ex,您应该添加刚刚提供给问题的额外信息。您可以编辑您的问题并执行此操作,甚至可以添加一些代码 sn-ps。
标签: haskell