問題タブ [function-composition]

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.

0 投票する
6 に答える
62662 参照

haskell - Haskell のドット演算子: 詳細説明が必要

このHaskellコードでドット演算子が何をしているのかを理解しようとしています:

ソースコード全体は以下。

私の理解

ドット演算子は、2 つの関数sumと の結果map eulerおよび の結果をmkList入力として取っています。

でも、sum関数じゃないですか、関数の引数ですよね?それで、ここで何が起こっているのですか?

また、何をしているの(map euler)ですか?

コード

0 投票する
13 に答える
190278 参照

haskell - 違いは何ですか 。(ドット)と$(ドル記号)?

(.)ドットとドル記号の違いは何($)ですか?

私が理解しているように、これらは両方とも括弧を使用する必要がないための構文糖衣です。

0 投票する
2 に答える
1026 参照

haskell - Haskell: 型推論と関数合成

この質問は、別の質問に対するこの回答に触発されたもので、次のように定義された関数を使用して、リストから要素のすべての出現を削除できることを示しています。

filter、、 の型から紙と鉛筆で計算する(/=)(.)、関数には の型があります。

これは、契約に基づいて期待するものとまったく同じです。ただし、GHCi 6.6 では、

タイプを明示的に指定しない限り(その場合は正常に機能します)。Haskell が関数の特定の型を推論するのはなぜですか?

0 投票する
6 に答える
1618 参照

java - Javaでの関数合成

私は遅延シーケンスを実装しようとしています (つまり、次の項目はステップ関数を呼び出したときにのみ計算されます)。それが持つべきメソッドの 1 つは、mapすべてのメンバーに影響を与える関数を受け取る " " です。
これを行う最もエレガントな方法は、関数合成を使用して新しい関数を関数変数に割り当てることですが、Java では関数はファースト クラスの値ではないため、これを行う方法がわかりません。

一種の「関数ポインタ」ラッパーとして、関数のみを含むクラスを持つことを考えましたが、それを構成に使用する方法がわかりません。

編集:質問は宿題に関連しています。また、 (" " この場合はメソッド "map" で指定された関数)
の行に沿って複数の構成を処理できる必要があります。map(map(map(stepFunction())))map

0 投票する
5 に答える
931 参照

java - Javaで関数を作成しますか?

私は自分たちが作成したAPIのデモコードを書いていますが、同じ問題が何度も何度も繰り返されています。Javaでクロージャが追加される予定であることを痛感していますが、現在はクロージャにアクセスできません。これが、私が自分の小さなコーナーに入れたい場所全体で繰り返されていることです。

これを回避するために私が考えた唯一の方法はMethod、try-catchロジックを実行する関数にを渡し、次のような別の関数にすべてをラップすることです。

しかし、それは醜く見え、多くの定型文を持っています。Javaで関数を作成する簡単な方法はありますか?

0 投票する
1 に答える
4045 参照

python - Python関数の合成

私は素晴らしい構文で関数合成を実装しようとしました、そしてここに私が持っているものがあります:

整数では正常に機能しますが、リスト/タプルでは失敗します。

間違いはどこにありますか?

0 投票する
4 に答える
1594 参照

python - Python で関数の構成に構文糖衣を使用することは良い考えですか?

しばらく前に、Haskell のドキュメントを調べたところ、関数合成演算子が非常に優れていることがわかりました。だから私はこの小さなデコレータを実装しました:

問題: 言語サポートがなければ、組み込み関数や次のようなラムダでこの構文を使用することはできません。

質問: 役に立つか? Pythonメーリングリストで議論する価値はありますか?

0 投票する
6 に答える
14004 参照

haskell - Haskell でピリオド、ピリオド、またはドット (.) は何を意味しますか?

Google が構文の検索をもっと上手にできたらいいのにと思います。

0 投票する
3 に答える
1696 参照

python - *args としての Python リスト?

2 つの Python 関数があり、どちらも関数定義で可変引数を取ります。簡単な例を挙げると:

のように、それらを構成しfunc1(func2(3, 4, 5))たいargsのですfunc1が、ではなく、のように呼び出されるように([6, 7, 8],)したいのです。(6, 7, 8)func1(6, 7, 8)func1([6, 7, 8])

通常、リストであるかどうかを確認するために使用するfunc1(*func2(3, 4, 5))か、確認します。残念ながら、この特定のインスタンスでは最初のソリューションを使用できず、2 番目のソリューションを適用するには、多くの場所でそのようなチェックを行う必要があります (の役割には多くの機能があります)。func1args[0]func1

これを行う方法を知っている人はいますか?ある種の内省が使用できると思いますが、間違っている可能性があります。

0 投票する
2 に答える
590 参照

haskell - 引数の任意の長いリストに関数を適用する

任意の数の引数と整数のリストを持つ関数を受け取り、関数の結果を返す関数 apply を作成したいと考えています (リスト内の各整数は順番に引数です。

私は次のようなことを考えていました:

しかし、型シグネチャが間違っているため、これが機能しないことはわかっています。関数は int のリストを使用せず、いくつかの int 引数を使用するだけです。

さらに、基本ケースに到達すると、適用する f 引数は実際には整数である必要があり、とにかく型シグネチャに違反します。

この種の問題に対処する方法を知っている人はいますか?