我试着打印下面的元组
(1,2,3,4,5,6)
Run Code Online (Sandbox Code Playgroud)
这给了我以下错误
ERROR - Cannot find "show" function for:
*** Expression : (1,2,3,4,5,6)
*** Of type : (Integer,Integer,Integer,Integer,Integer,Integer)
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试使用以下元组
(1,2,3,4,5)
Run Code Online (Sandbox Code Playgroud)
一切都像一个魅力.
我的猜测是Haskell只Show为元组定义了最多五个元素(因为具有5个元素的元组显然是另一种类型而不是具有6个元素的元组).但不知何故,我很愚蠢地找到证据.
所以我的问题是:
为什么会如此,如何打印一个包含6个元素的元组(因为我似乎无法将元组放在instance定义的头部)?
编辑:我正在使用Hugs
不要使用Hugs.
它已经多年没有维护,并且不支持现代Haskell实现应该支持的一半.(Hugs支持"大部分"Haskell '98,这是语言规范的先前版本.)
您可能会在互联网上找到与GHC完美配合的示例代码,但与Hugs一起失败.您将花费数年时间来弄清楚为什么您的代码不起作用,只是最终意识到"哦,它确实有用 - 只是没有Hugs".
| 归档时间: |
|
| 查看次数: |
197 次 |
| 最近记录: |