gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 01:59:15 25 4
gpt4 key购买 nike

以下code :

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

hello_world = "hello world"

main = putStr $ show $ (HelloWorld, hello_world)

打印:

(hello world,"hello world")

我想要打印:

(hello world,hello world)

即我想要如下的行为:

f "hello world" = "hello world"
f HelloWorld = "hello world"

不幸的是,show 不满足这一点,因为:

show "hello world" = "\"hello world\""

是否有一个功能类似于我上面描述的 f

最佳答案

首先看一下this question 。也许您会对 toString 函数感到满意。

其次,show 是将某些值映射到String 的函数。

因此,引号应该被转义是有道理的:

> show "string"
"\"string\""

Is there a function that works like f that I've described above?

看来您正在寻找id:

> putStrLn $ id "string"
string
> putStrLn $ show "string"
"string"

关于Haskell:显示时抑制字符串周围的引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12102874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com