2026-08-22
Dollar.hs
double :: Int -> Int
double x = x * 2
main :: IO ()
main = print $ double $ 3 + 4
これは何を出力するでしょうか?
Answer
14。$は最も優先順位が低い右結合の関数適用演算子で、print $ double $ 3 + 4はprint (double (3 + 4))、つまりprint (double 7)と同じ意味になります。double 7は14なので、それが出力されます。$のおかげで、深い括弧のネストを避けられます。