これは、一連の関数を同じ変数に適用したい状況で発生します。次のようになります。
map (\f->f 4) [odd, even]
しかし、LYAHを使用$
して非常にきれいにします
map ($ 4) [odd, even]
なぜそれが機能するのですか。最初に ghci のよう$ 4 odd
に入力すると失敗し、次に と入力すると正常($ 4) odd
に動作します。次に、を示す($ 4)
usingのタイプを確認します。それは理にかなっているように思えますが、それでも私には明確ではありません。:t
($ 4) :: Num a => (a -> b) -> b
odd
odd :: Integral a => a -> Bool
誰かがそれを明確に説明できますか、それは の別の一般的な使用法ですか? の$
他の使用法はあり$
ますか?