打印表达式的值是调试中的常见做法。例如,如果我有一段这样的代码

my . super . cool . fUnCtIoN . chain $ value

我正在尝试查看 fUnCtIoN . chain 的输出,我会添加

my . super . cool . (\ x -> traceShow x x ) . fUnCtIoN . chain $ value

对于像这样的简单任务来说,这是满口的,更不用说我是否想打印许多中间结果:

(\ x -> traceShow x x )
    . my
    . (\ x -> traceShow x x )
    . super
    . (\ x -> traceShow x x )
    . cool
    . (\ x -> traceShow x x )
    . fUnCtIoN
    . (\ x -> traceShow x x )
    . chain
    $ value

它只会看起来很糟糕。有一个更好的方法吗?

最佳答案

只需使用 traceShowId !它完全符合您的要求。

my . super . cool . traceShowId . fUnCtIoN . chain $ value

关于debugging - `(\x -> traceShow x x )` 的简短写法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33058924/

10-11 23:12