2015-11-13 4 views
0

Может ли кто-нибудь сказать мне функцию $ в следующей строке Haskell. $$ если для последней строки, но функция $?

concat $ replicate 3 "12345" 
+0

http://hackage.haskell.org/package/base-4.8.1.0/docs/Prelude.html#v:-36- – ApproachingDarknessFish

+1

Также https://www.haskell.org/hoogle/?hoogle=% 24 и http://hayoo.fh-wedel.de/?query=%24 – kosmikus

+0

У отмеченного дубликата есть больше информации, чем вы просили, но много хороших ответов. – dfeuer

ответ

5

$ просто низкая версия преимущества применения функции, т.е. a $ b таким же, как a b.

Это обычно используется, чтобы устранить необходимость в круглых скобках, например:

concat $ replicate 3 "12345" 

является тем же самым, как:

concat (replicate 3 "12345") 

Кроме того, вместо того, чтобы написать:

putStrLn ("hello " ++ name ++ "!") 

вы часто увидите:

putStrLn $ "hello " ++ name ++ "!"