問題タブ [operator-sections]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
haskell - Haskellドルオペレーターアプリケーション
関数適用がhaskellでのカリー化でどのように機能するかを理解するのに問題があります。次の機能がある場合:
この関数を部分的に適用するには、(a -> b)
関数($
の最初の引数)を提供する必要があることを理解しています。
では、なぜ最初に値を適用できるのでしょうか(つまり、逆引数)?
ここで何が欠けていますか?
haskell - Haskell でこの `$` の使用法を理解する方法
これは、一連の関数を同じ変数に適用したい状況で発生します。次のようになります。
しかし、LYAHを使用$
して非常にきれいにします
なぜそれが機能するのですか。最初に ghci のよう$ 4 odd
に入力すると失敗し、次に と入力すると正常($ 4) odd
に動作します。次に、を示す($ 4)
usingのタイプを確認します。それは理にかなっているように思えますが、それでも私には明確ではありません。:t
($ 4) :: Num a => (a -> b) -> b
odd
odd :: Integral a => a -> Bool
誰かがそれを明確に説明できますか、それは の別の一般的な使用法ですか? の$
他の使用法はあり$
ますか?
function - Haskell での関数適用
OK、長い一日だったので、私の脳は Haskell レベルで機能していないかもしれませんが、「Learn You a Haskell」の 1 つの例を理解できません。
このセクションは$ を使用した Function Application と$
呼ばれ、定義方法の例があります。
これまでのところ、すべてが明らかです。最後の例を除いて、このセクションのすべての例を理解しています。
ここでは($ 3)
、関数のリスト全体にマップし、それらの関数を に適用した結果を取得し3
ます。しかし、これはどのように可能ですか?
最初のコード スニペットから、最初の引数が関数であることは明らかです。次のように書くこともできます。
($ 3)
これは function の部分的な適用ですが、 function の位置$
に進みます3
! それで3
、関数か何かになるはずですか?
別の謎があります: 一体何(4+)
ですか? (+4)
関数 の部分適用であることはわかってい+
ますが、関数 の(4+)
部分適用でよいの4
でしょうか? ナンセンス。ここではどのようなトリックが機能しますか?