Haskell 显示变量的实例

Haskell 显示变量的实例,haskell,Haskell,可以使用下面这样的变量吗 instance Show Box where show (Contents x y z) = "Contents " ++ x ++ " items, " ++ y ++ " items and " ++ z ++ " items" 这不可编译,我是否将字符串添加到一起是错误的,或者这通常是不可能的 我正在尝试编写一个显示函数,具有以下效果 示例:显示(内容2 4 5)结果为字符串“内容2个盒子、4个包裹和5个字母”。这是可能的,并且您的实现是正确的

可以使用下面这样的变量吗

instance Show Box where
        show (Contents x y z) = "Contents " ++ x ++ " items, " ++ y ++ " items and " ++ z ++ " items"
这不可编译,我是否将字符串添加到一起是错误的,或者这通常是不可能的

我正在尝试编写一个显示函数,具有以下效果


示例:显示(内容2 4 5)结果为字符串“内容2个盒子、4个包裹和5个字母”。这是可能的,并且您的实现是正确的,但请确保
x
y
z
首先是
string
s。(如果没有,
显示它们。)

这是可能的,并且您的实现是正确的,但是请确保
x
y
z
首先是
字符串。(如果没有,
显示它们。)

我想你有这样的想法:

数据框=内容整数

由于
Integer
有一个
Show
-实例,所以只需尝试以下方法:(顺便说一句,在这里使用
()
比使用
++
更有效)


我猜你有这样的想法:

数据框=内容整数

由于
Integer
有一个
Show
-实例,所以只需尝试以下方法:(顺便说一句,在这里使用
()
比使用
++
更有效)


xyz将是数字,这是一个问题
(++)::String->String
附加字符串,而不是int,这是
Show
解决的问题
show1++show2==“12”::String
xyz将是数字,这是一个问题
(++)::String->String
附加字符串,而不是int,这是
show
解决的问题<代码>显示1++显示2==“12”::字符串
instance Show Box where 
  showsPrec _ (Contents x y z) = showString "Contents " . shows x . 
                                 showString " items, " . shows y . 
                                 showString "items and " . shows z . 
                                 showString "items"