问题描述
我在Elm中实现了自定义类型:
type Bin = BEmpty | One Bin | Zero Bin
我希望在String
上下文中使用它时可以显示它,类似于:
main =
Html.p (text bin)
例如,如果定义了以下内容:
bin : Bin
bin = One (One (Zero BEmpty))
如果我尝试按以下方式定义Show
的实例:
instance Show Bin
show bin = show (binToDec bin)
我收到以下错误:
-- NAMING ERROR --------------------------------------------------- src/Main.elm
I cannot find a `Bin` variant:
19| instance Show Bin
^^^
These names seem close though:
EQ
Err
GT
L
榆树中有Haskell的instance Show Bin where
声明吗?
解决方法
否,Elm没有此功能。您需要实现自己的toString
函数:
binToString : Bin -> String
binToString bin =
binToDec bin
|> String.fromInt