一名求职者向我提交了一个代码示例,该示例通过使用 Show
而不是showsPrec
实现了show
。这似乎是一个非常不寻常的选择,他必须有理由这样做,但我无法在网上找到任何有关此优点的信息。
有什么理由要使用showsPrec
吗?
最佳答案
showsPrec
函数接收一个附加参数:“封闭上下文的运算符优先级”。
定义showsPrec
而不是show
的主要用例是,您可以决定是否用括号括起来显示您的值。在定义showsPrec
时,通常使用 showParen
。
参见例如the source for instance Show KindRep