我在学习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]'可能更合适。 – Zeta