に関数適用演算子を理解する上でコードはHaskellの
map ($ 3) [(4+), (10*), (^2), sqrt]
のこのHaskellの作品は、私は$が右に最低の優先順位、したがって表現を持っていることを知っている出力に
[7.0,30.0,9.0,1.7320508075688772]
を与える手助けが必要です$の値は一緒に評価されます。しかし、私が理解できないことは、($ 3)が関数としてどのように動作するかです(Mapは関数とリストをパラメータとして取るためです)。
($) :: (a -> b) -> a -> b
f $ x = f x
($ 3)
は\f -> (f $ 3)
の省略形です:リスト内の各機能が($)
が実際に関数であることを覚えておいてください。3.
ドルが関数である場合、関数部分をパラメータに適用するのではなく、パラメータに適用するべきではありません。私は何かが間違っていることをかなり確信しています:)ただ私が間違っているものを理解することができません – Ashwin
@Ashwin err、何ですか? 「関数をパラメーターに適用するのではなく、パラメーターに適用するべきではない」という意味はどうですか? – Zeta
私はそれが別の方法であるべきではないことを意味します。 (4+)は、パラメータとして3を取る代わりに3を取るべきです(4+)。 – Ashwin