Haskell 反转数字数字列表
Haskell Reversed Number Digit List
我是 Haskell 的新手,我正在尝试将 int 转换为(整数的)反向数字列表。
我有的是:
Lnat 0 = [0]
Lnat x = [mod x 10] ++ Lnat (div x 10)
但是我在两行中都收到错误 "Not in scope: data constructor 'Lnat'" 并且它在尝试加载文件时崩溃了。
能否请您解释一下这个问题的根源以及解决方法?
所有值必须以小写字符开头。如果它以大写或 :
开头,那么该值是一个数据构造函数,用于 data
声明。这就是您要将函数更改为:
lnat 0 = [0]
lnat x = mod x 10 : lnat (div x 10)
请注意,我还将低效的 ++
运算符更改为 :
以增加一点速度。
我是 Haskell 的新手,我正在尝试将 int 转换为(整数的)反向数字列表。
我有的是:
Lnat 0 = [0]
Lnat x = [mod x 10] ++ Lnat (div x 10)
但是我在两行中都收到错误 "Not in scope: data constructor 'Lnat'" 并且它在尝试加载文件时崩溃了。
能否请您解释一下这个问题的根源以及解决方法?
所有值必须以小写字符开头。如果它以大写或 :
开头,那么该值是一个数据构造函数,用于 data
声明。这就是您要将函数更改为:
lnat 0 = [0]
lnat x = mod x 10 : lnat (div x 10)
请注意,我还将低效的 ++
运算符更改为 :
以增加一点速度。