【发布时间】:2011-07-02 17:23:01
【问题描述】:
你好伟大的程序员,
我在 haskell 中迈出了第一步,并且有一个让我感到困惑的功能:
import Data.List.Split
getncheck_guesslist = do
line <- getLine
let tmp = splitOneOf ",;" line
map read tmp::[Int]
splitOneOf 在 Data.List.Split 中(我使用 cabal install split 安装了它)
splitOneOf :: (Eq a)=> [a]->[a]->[[a]]
从错误中我知道存在一些类型不正确 - 但不知道如何解决这种冲突,因为 IO 对我来说仍然是个谜
我想读取以逗号或分号分隔的整数输入并获取整数列表:
- 如何检查用户输入是否为 Int 类型
- 如何将“IO String”类型的输入“翻译”为 [Int]
提前感谢您的想法和提示 - 你的 ε/2
【问题讨论】:
-
如果 IO 是个谜,你有两个选择:要么通过学习来揭开它,要么在没有它的情况下工作,在没有 IO 的情况下编写函数。我建议暂时使用第二个选项。