我正在使用 bool :: a -> a -> Bool -> a
函数。
我想使用中缀版本,因为我认为它更易读,但我注意到:
(-1) `bool` 1 True
是一个错误。
(-1) `bool` 1 $ True
工作。即使如此
(-1) `bool` 1 (True)
以前我认为两种方式是等价的,即使用$
和在此位置到结尾处用括号包裹起来。但事实证明只有一种方式可行。
为什么这会有区别呢?因为第一种方式只执行了一个操作。
我正在使用 bool :: a -> a -> Bool -> a
函数。
我想使用中缀版本,因为我认为它更易读,但我注意到:
(-1) `bool` 1 True
是一个错误。
(-1) `bool` 1 $ True
工作。即使如此
(-1) `bool` 1 (True)
以前我认为两种方式是等价的,即使用$
和在此位置到结尾处用括号包裹起来。但事实证明只有一种方式可行。
为什么这会有区别呢?因为第一种方式只执行了一个操作。
(-1) `bool` 1 True
-- means
(-1) `bool` (1 True)
(-1) `bool` 1 $ True
-- means
((-1) `bool` 1) $ True
(-1) `bool` 1 (True)
-- means
(-1) `bool` (1 (True))
您可能需要:
((-1) `bool` 1) True