gpt4 book ai didi

haskell - 在字符串上显示而不是 id 函数?

转载 作者:行者123 更新时间:2023-12-04 22:06:52 26 4
gpt4 key购买 nike

有人可以向我解释为什么字符串上的 show 函数不是 id 函数吗?例如
show (show 42) 将返回 "\"42\"" 什么是奇怪的,对我来说不是直觉的。

最佳答案

如果 show 只是将某些内容转换为任意字符串(如 Java 中的 toString),则它不是很有用。如果结果既易于阅读又易于机器可读,则更有用,因此 show 的常见用途是生成您正在 show ing 的值的序列化表示,以便您可以使用 read 再次读取它,而且,对于 show 的大多数实现,这样您就可以在 Haskell REPL 中键入 show n 字符串,例如 ghci 并取回反序列化的值。

所以,如果你有一个像 "42"show 这样的字符串,你想要得到字符串 "\"42\"" ,因为当你在 42 中输入 ghci 时(等效地使用 read 函数),你得到一个数字,而当你在 "42" 中输入 ghci ,你会得到你想要的字符串。

关于haskell - 在字符串上显示而不是 id 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10788030/

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