Salut à toutes et à tous !
Voici quelques fois que je rencontre le signe '$' dans du code Haskell. Que signifie-t-il exactement ?
Code:
1
2
3 putStrLn $ "After writing, my new position is: " ++ show pos (toUpper . head $ inpStr) == 'Y'
Version imprimable
Salut à toutes et à tous !
Voici quelques fois que je rencontre le signe '$' dans du code Haskell. Que signifie-t-il exactement ?
Code:
1
2
3 putStrLn $ "After writing, my new position is: " ++ show pos (toUpper . head $ inpStr) == 'Y'
Il sert juste à appliquer la fonction (à gauche) avec son argument (à droite). C'est comme une fonction identité, spécialisée pour les fonctions.
L'intérêt est qu'il a une faible priorité et qu'il permet de se passer de parenthèses. Les lignes suivantes sont équivalentes :Code:f $ x ==> f x
Code:
1
2
3
4 putStrLn (show (1 + 1)) putStrLn (show $ 1 + 1) putStrLn $ show (1 + 1) putStrLn $ show $ 1 + 1
Ha c'est donc ça.
Eh bien merci :)