打印表达式的值是调试中的常见做法。例如,如果我有一段这样的代码
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/