Bob*_*and 1 haskell expression
怎么会这样呢?
> (* 30) 4
120
Run Code Online (Sandbox Code Playgroud)
但事实并非如此
> * 30 40
error: parse error on input ‘*’
Run Code Online (Sandbox Code Playgroud)
(* 30)是一个部分,它仍然被视为*二进制(中缀)运算符,只是缺少一个参数的一个,简称(\x -> x * 30).括号本身是语法的一部分,而不是可以包围任意表达式的显式(但多余)括号.
您可以将其(*)视为缺少两个参数的退化部分.如果不使用括号,则不能在前缀位置使用中缀运算符.