【发布时间】:2015-04-07 07:04:19
【问题描述】:
我确定不是,但我从 System.Posix 函数中收到了 IO FileOffset 类型,但我不知道我能用它做什么。看起来它只是COFF类型的重命名,它似乎只是Int64的包装,实际上当我在GHCI中得到它时,我可以看到IO FileOffset对应的数字。但是,我无法将其添加到其他任何内容中、打印出来(通过解释器除外),甚至无法将其转换为另一种类型。它似乎对show 免疫。
我如何才能真正使用这种类型?我是 Haskell 的新手,所以我确定我缺少一些关于类型的基本知识,可能还有文档。
【问题讨论】:
-
您可以将其传递给
fdSeek之类的函数,将其解包以获取底层整数,或将其用作Num和Integral的任何其他实例 -
@n.m.:我认为 OP 对
IO FileOffset感到困惑,而不是FileOffset。 -
我认为可以将这个问题概括为“
IO a是什么,我该如何使用它?”,但此时问题变得(可能)过于宽泛,任何潜在的答案都会导致另一个问题单子教程。 @OP:看看单子。 -
@Zeta 或者更确切地说,看看许多避免使用 M 字的 IO 教程。
-
learnyouahaskell.com/input-and-output 展示了如何在
getLine :: IO String中使用String。您可以为您的IO FileOffset做同样的事情。
标签: haskell