【发布时间】:2015-11-15 19:48:20
【问题描述】:
我正在学习 Haskell,但我很困惑。
我要定义一个函数
toDigits :: Integer -> [Integer]
它应该接受一个数字(例如 234)并返回组成数字(例如 [2,3,4])
我还以为这...
toDigits n = [read c | c <- [show n]]
意思
-
show n即将 234 转换为 "234" - 使用“234”生成序列["2","3","4"]
- 然后将
read应用于每个元素,给出 [2,3,4]
但是我得到了“234”,所以它一定意味着
-
show n即将 234 转换为 "234" - 使用“234”生成序列[“234”]
- 然后将
read应用于每个元素,给出[234]
我是遗漏了一点语法还是做了一些疯狂的事情?
【问题讨论】:
-
小注:
toDigits :: Integer -> [Int]可能更合适。
标签: haskell