当前位置 : 主页 > 网络编程 > 其它编程 >

如何防止指数运算符(^)的默认实现

来源:互联网 收集:自由互联 发布时间:2023-07-02
我是haskell的新手,编译以下代码时出现错误(^)::Int-Int-Int_^0=1x^n=x 我是haskell的新手,编译以下代码时出现错误 (^) :: Int -> Int -> Int_ ^ 0 = 1x ^ n = x * (x ^ (n-1)) 错误是这样的: Ambiguous occurren
我是haskell的新手,编译以下代码时出现错误(^)::Int-Int-Int_^0=1x^n=x

我是haskell的新手,编译以下代码时出现错误

(^) :: Int -> Int -> Int_ ^ 0 = 1x ^ n = x * (x ^ (n-1))

错误是这样的:

Ambiguous occurrence `^'It could refer toeither `Prelude.^',imported from `Prelude' at test.lhs:1:1(and originally defined in `GHC.Real')or `Main.^', defined at test.lhs:107:5

回答

长话短说,Prelude已经有了那个函数,你正在重新定义它,所以编译器不知道选择哪个。

如果你把

import Prelude hiding ((^))

在文件的顶部,您将通过将另一个从Prelude.


    网友评论