Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
haskell实例未解析重载_Haskell - Fatal编程技术网

haskell实例未解析重载

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中输入多行定

我有一个方法为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中输入多行定义,必须用
:{
:}
包围它

在您的例子中,第一行声明一个没有方法的类,第二行声明一个无关函数的签名,依此类推


一般来说,我建议将定义存储在文件中,并仅使用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)调用它解决了我的问题。谢谢你!