haskell实例未解析重载
我有一个方法为a_zu_Binaer的类Binaer:haskell实例未解析重载,haskell,Haskell,我有一个方法为a_zu_Binaer的类Binaer: > class Binaer a where > a_zu_binaer :: a -> String 还有一个例子: > instance Binaer Integer where > a_zu_binaer b = "needs to be converted" 比如我打电话的时候 a_zu_binaer 3 我得到错误未解决的重载 这是什么原因?如何解决此问题?如果要在ghci中输入多行定
> class Binaer a where
> a_zu_binaer :: a -> String
还有一个例子:
> instance Binaer Integer where
> a_zu_binaer b = "needs to be converted"
比如我打电话的时候
a_zu_binaer 3
我得到错误未解决的重载
这是什么原因?如何解决此问题?如果要在ghci中输入多行定义,必须用
:{
和:}
包围它
在您的例子中,第一行声明一个没有方法的类,第二行声明一个无关函数的签名,依此类推
一般来说,我建议将定义存储在文件中,并仅使用ghci进行尝试。如果要在ghci中输入多行定义,必须使用
:{
和:}
在您的例子中,第一行声明一个没有方法的类,第二行声明一个无关函数的签名,依此类推
一般来说,我建议将您的定义存储在一个文件中,并仅使用ghci对其进行尝试。对于
a_zu_binar(3::Integer)
,会发生什么?您似乎有多个类二进制文件的实例
。Haskell不知道该3
是整数还是任何其他数字类型。毕竟,以后可以为Binaer Int
、Binaer Float
等添加实例。这些甚至可以在另一个文件中声明。@assembly.jc现在是否有更多实例并不重要。Haskell是在“开放世界”的假设下工作的,在这个假设下,可能总是会添加实例(即使在其他源文件中也是如此)。通过_zu_二进制文件(3::Integer)调用它解决了我的问题。谢谢你!a_zu_binaer(3::Integer)
会发生什么?您似乎有多个类二进制文件的实例
。Haskell不知道该3
是整数还是任何其他数字类型。毕竟,以后可以为Binaer Int
、Binaer Float
等添加实例。这些甚至可以在另一个文件中声明。@assembly.jc现在是否有更多实例并不重要。Haskell是在“开放世界”的假设下工作的,在这个假设下,可能总是会添加实例(即使在其他源文件中也是如此)。通过_zu_二进制文件(3::Integer)调用它解决了我的问题。谢谢你!