問題タブ [function-signature]
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 - Tap の関数シグネチャ (K コンビネータ)
タップ関数 (K-Combinator とも呼ばれます) の関数シグネチャが以下にあることを本で読みました。
「この関数は、入力オブジェクト a と、a に対して何らかのアクションを実行する関数を受け取ります。指定されたオブジェクトで指定された関数を実行し、オブジェクトを返します。」
- 関数シグネチャのアスタリスク (*) の意味を説明してくれる人はいますか?
- 以下の実装は正しいですか?
- 3 つの実装がすべて正しい場合、いつどれを使用する必要がありますか? 例はありますか?
実装 1:
実装 2:
実装 3:
function - Haskell では、他の関数を呼び出すが実装がない関数のシグネチャを取得できますか?
だから私は Haskell を学んでいて、タイプ (Tree (a,b)) のツリーを取り、'a' と 'b' が整数で、解凍された 2 つのツリーのリストを返す treeunzip 関数を実装する必要があります。は (ツリー a、ツリー b) です。
2 つのツリーのうちの 1 つを取得できますが、それらをリストにまとめることはできません。私が思いついたのはこれです:
NewTree は次のように定義されます。
ツリーは次のように定義されます。
ここにtreeunzipLとtreeunzipR関数がありますが、それが重要かどうかはわかりません.
treeunzip には署名がありますが実装がないため、モジュールをロードするときに明らかにエラーが発生します。これを回避する方法はありますか?
ありがとうございました。