任何人都可以在跟随Haskell线路时告诉我$
的功能。
如果是最后一行,但是$
的函数?
concat $ replicate 3 "12345"
答案 0 :(得分:5)
$
只是函数应用程序的低优先级版本,即a $ b
与a b
相同。
它通常用于消除括号的需要,例如:
concat $ replicate 3 "12345"
与:
相同concat (replicate 3 "12345")
此外,不必写:
putStrLn ("hello " ++ name ++ "!")
你会经常看到:
putStrLn $ "hello " ++ name ++ "!"