相关疑难解决方法(0)

Haskell:显示字符串时抑制引号

以下代码:

data HelloWorld = HelloWorld; 
instance Show HelloWorld where show _ = "hello world";

hello_world = "hello world"

main = putStr $ show $ (HelloWorld, hello_world)
Run Code Online (Sandbox Code Playgroud)

打印:

(hello world,"hello world")
Run Code Online (Sandbox Code Playgroud)

我想要它打印:

(hello world,hello world)
Run Code Online (Sandbox Code Playgroud)

即我想要的行为如下:

f "hello world" = "hello world"
f HelloWorld = "hello world"
Run Code Online (Sandbox Code Playgroud)

不幸的是,show不满足于此,因为:

show "hello world" = "\"hello world\""
Run Code Online (Sandbox Code Playgroud)

有没有像f我上面描述的那样工作的功能?

haskell

18
推荐指数
3
解决办法
1万
查看次数

标签 统计

haskell ×1