无论如何我可以读取一个整数字符串吗?
例如阅读
triangle = ["1"
,"2 3"
,"4 5 6"]
为[[1],[2,3],[4,5,6]]
convertToInt :: [String] -> [[Int]]
convertToInt [] = []
convertToInt (x:xs) = **(somehow convert x to list of ints)** : convertToInt xs
不确定如何处理,是否有任何内置函数?
编辑:谢谢!这是解决方案
convertToInt :: [String] -> [[Int]]
convertToInt [] = []
convertToInt (x:xs) = (map read (words x)) : convertToInt xs
答案 0 :(得分:7)
这里有一个让你入门的提示
>> let str = "1 2 3"
>> words str
["1","2","3"]
>> map read (words str) :: [Int]
[1,2,3]
修改强>
既然你现在已经想到了你需要做什么,我想向你展示另一个解决方案,这可能会让你更多地思考Haskell
convertToInt :: [String] -> [[Int]]
convertToInt = map (map read . words)
尝试并弄清楚它是如何工作的 - 您对Haskell的理解将会大大改善。