完整的小白在这里Haskell中,我试图让这个下面这段代码的工作:哈斯克尔类型误区分配变量
它的意图是要接受列表的第一EXP元素,将它们连接起来,然后调用同样的功能。
order (i) (l1)(l2) =
do exp <- (2^i)
l <- (take exp l1) ++ (take exp l2) ++ (order (i+1) (drop exp l1) (drop exp l2));
return l
我敢肯定,这远不是惯用的哈斯克尔,但你必须从一些地方开始。
我得到的错误是在
exp <- (2^i)
说
No instance for (Num [Int])
arising from a use of `^'
Possible fix: add an instance declaration for (Num [Int])
这我真的不能确定这究竟意味着。是不是2和我的整数,然后应用指数函数将导致一个整数?
谢谢!