在这里完成 noob to 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
我确信这与惯用的 haskell 相去甚远,但是您必须从某个地方开始。
我得到的错误是
exp <- (2 ^ i )
这么说
No instance for (Num [Int])
arising from a use of `^'
Possible fix: add an instance declaration for (Num [Int])
我真的不确定这到底意味着什么。不是 2 和 i 都是整数,然后应用求幂函数会得到一个整数吗?
谢谢!