問題タブ [partial-application]
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.
javascript - JavaScript関数のカリー化はインスタンスメソッドでは機能しません
オンラインで読んだり、簡単なコードを書いたりして、JavaScriptで関数カリー化を学んでいます。オンライン記事で次の例を取得しました
次に、インスタンス化された関数のメソッドで試してみました。だから私はフォローしてみました。しかし、最後から2行目に「未定義またはnull参照のプロパティ「プロトタイプ」を取得できません」というエラーが表示されました。このエラーはカリー化とは何の関係もないことは知っていますが、JS関数の概念のいくつかの基本を台無しにしています。だから私が間違っているところ。
scala - この Haskell コードを Scala で書く方法はありますか?
私はいくつかの関数型プログラミング言語を調べて、興味深いことを学んでいます。今は Scala に注目しています。私がやろうとしているのは、double
1 つの引数を取り、それを 2 倍にするという関数を作成する最も簡単な方法を見つけ出すことです。これまでに思いついたのは次のとおりです。
また
これは機能しますが、最も簡単な方法を探しています。Haskell では、次のように簡単に実行できます。
これは部分的に適用される関数であるため、変数に名前を付けたり、型を指定したりする必要はありません (*
関数がそれを処理してくれるはずです)。Scalaを使用してこれを行う同様の方法はありますか? _
特にの代わりに使用して、いくつか試してみましたx
が、どれもうまくいかないようでした。
javascript - Jon Resig の部分適用の実装を理解する
次のコードは、関数の部分的な適用を実装するためにクロージャーを使用する方法を説明するために、Jon Resig の本Secrets of JavaScript Ninjaから抜粋したものです。ただし、変数の意図を理解するのに問題がありますarg
。なぜそれが必要なのですか?関数に引数を事前に入力するという問題をどのように単純化しますか? partial
この関数の可能なアプリケーションは何ですか?
編集: と は、呼び出し後に に含まれるすべての情報を保持する真の配列オブジェクトであるため、ここでは必ずしも同じであるためargs
、混乱しています。では、何かがの中にある場合、どうすれば の中に何かを入れることができるのでしょうか?arguments
args = Array.prototype.slice.call(arguments);
args
arguments
undefined
args
arguments
haskell - Haskell で部分的に適用された型のデータ コンストラクターを作成する
Haskellで部分的に適用された型のデータコンストラクタを作成することは可能ですか?
ghci セッション:
T1 型のデータ コンストラクターを作成したいのですが、可能ですか? または、そのような関数を手動で定義することはできないため、newtypes を使用する必要がありますか?
haskell - Haskell 部分適用が機能しないのはなぜですか?
私の Haskell での作業は、楽しみのために Haskell で .Net F# プロジェクトを作り直すという形で行われます。
通常の Windows 構成ファイルを解析しています。1 行に 1 つのキーと値のペアがあり、キーと値は=
. このファイルは非常にシンプルでわかりやすいため、解析コードをシンプルでわかりやすいものにすることができ、気に入っています。
私の質問は、以下のコードの最後の行で部分的な適用が機能しない理由です。明らかに、前の行やその他の機能で機能しています。
私が得ているエラーは次のとおりです。
ありがとう!
sml - SML マップ関数
私は機能を持っています:
生成するもの:
この機能の仕組みがわかりません。各マップ関数には、関数とリストの両方が必要ではありませんか? これを実際に実行するのに十分な引数がないようです。
私が実行した場合:
私は得る:
リスト内の各要素を取り、それを別のリストにラップするので、これは私にとってより理にかなっています。しかし、別のマップをその上に置くと、出力が変わります。誰かが私にこれを説明できますか? ありがとうございました!