問題タブ [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 投票する
1 に答える
354 参照

functional-programming - このOCaml関数合成演算子の定義/式は正しいですか?

  1. 上記の表現は正しいですか?
  2. 上記のコードは、を定義するのと同じように見えるはずf++g x = 2 * x + 1です。私は正しいですか?
0 投票する
2 に答える
182 参照

haskell - 関数合成は let で異なる働きをしますか?

GHCi のリストから最後の項目を削除するには、リストを逆にし、テールを取得してから、もう一度逆にします。例えば、

そこには非常に多くのブラケットがあるので、代わりに関数合成を使用するように変更すると思いました。ただし、これを試してみると、次のエラーが発生します。

これは を構成するのが好きではないことを意味していると思うreverse [1,2,3,4]ので、括弧で囲んでみましたが、同じエラーが発生します。

しかし、次のようにすると正しく動作します。

このエラーの原因は何ですか? let バインディングがこれを停止するのはなぜですか?

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

haskell - 折り畳み。フォルダー関数の構成 - Haskell

だから、foldl.foldr の構成を理解しようとして頭を悩ませています。次に例を示します。

結果は 22 ですが、実際に何が起こっているのでしょうか。

私には、これが起こっているように見えます: foldl (+) 1 [6,15]. 私の疑問はそのfoldr部分に関連しています。すべてのサブリストに 1 を追加すべきではありませんか? このように: foldr (+) 1 [1,2,3]. 私の頭の中では 1 が 1 回だけ追加されますよね?(おそらくそうではありませんが、その方法/理由を知りたいです!)。

私は非常に混乱しています(そして、おそらくすべての混乱を引き起こしています、笑)。ありがとうございました!

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

haskell - マップ。foldr関数の合成-Haskell

それでは、要点をまっすぐにしましょう。

[[a1]-> a]とは何ですか?私は本当にこの構成を理解しようとしているので、私はこれをしていました:

この時点で何が起こりますか?ありがとうございました!

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

haskell - Haskell: ((.).(.)) fg が f と等しいのはなぜですか。gx?

((.).(.))という表現の意味を教えてください。私の知る限り、(.) の型は (b -> c) -> (a -> b) -> a -> c です。

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

haskell - 算術型関数を使用して Haskell で関数を構成する

私は現在 Haskell を学んでおり、関数合成をいじろうとしています。

私は2つの関数を書きました。

let func1 x y = x + y

let func2 t = t*2

ただし、これら 2 つの関数を作成しようとすると、 func2 . func1 1 26 になると予想されます。

代わりに、次のエラーが表示されます。

これが機能しない理由を誰かが説明できますか?

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

haskell - 関数が再帰を実行した後のリストの操作

私は Haskell を初めて使用し、リストに対して再帰関数を実行しようとしています。再帰が完了したら、再帰から出力リストにアクセスして追加の操作を実行したいと考えています。

たとえば、以下の関数は、保持する値とリストを受け取り、保持する値のみを含むリストを返し、他の値はすべて破棄します。

私がやりたいことは、再帰が行われた後に出力リストにアクセスする方法を理解して、それを操作し続けることができるようにすることです。

何かのようなもの:

私の機能

よろしくお願いします!

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

erlang - Erlangにvarargsがない場合の回避策

Erlangはまったく新しい。composeなどの関数合成用の関数を定義しようとしていますjuxtpipe、Erlangには(私の知る限り)varargsがないため、すべての入力で機能する関数のバージョンを1つだけ作成するのは困難です。 。

これまでのところ、私の最善のアイデアは、さまざまなアリティの関数を妥当な数までハードコーディングすることと、次のようなより大きなもののリストを取得するバージョンを提供することです。

これは機能しますが、もっと良い方法があるかどうか知りたいですか?

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

haskell - 関数合成による型推論リスト

フォールドを使用して、Haskell の整数の合計の 2 乗をとろうとしています。しかし、GHCi から不可解なエラーが発生します。これが私のワンライナーです:

私がGHCiから得ているものは次のとおりです。

問題は、この型宣言に基づいて最後に渡すリストにあると思います。

Enumこの関数をデバッグできるように、この型がリストを明示的にキャストする方法を期待している理由について、誰かが私に洞察を与えることができますか? 前もって感謝します。