例如,++本质上是一个函数.我希望当我输入:t ++或:t prefixName我将获得一个类型表达式,但我收到一个解析错误.是否有一个前缀++或是否有一个特殊的方法来调用:t中缀函数.
drR*_*rtz 12
是的,中缀函数是函数,但要与它们一起使用,:t需要将其写为普通前缀函数:
:t (++)
Run Code Online (Sandbox Code Playgroud)
这使
(++) :: [a] -> [a] -> [a]
Run Code Online (Sandbox Code Playgroud)
这是haskell语法的一部分.要将中缀函数转换为前缀,请用parens包围它,例如,
(+) 1 2
Run Code Online (Sandbox Code Playgroud)
相当于
1 + 2
Run Code Online (Sandbox Code Playgroud)
相反,普通前缀函数可以通过用反引号包围它来使用,例如,
reverse `map` ["hello","world"]
Run Code Online (Sandbox Code Playgroud)
是相同的
map reverse ["hello","world"]
Run Code Online (Sandbox Code Playgroud)