問題タブ [pure-function]

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 投票する
5 に答える
651 参照

d - D2.0でpureを使用する方法

D 2.0で遊んでいると、次の問題が見つかりました。

例1:

これはコンパイルされ、期待どおりに機能します。

文字列配列をクラスでラップしようとすると、これを機能させることができません。

addMsg関数が不純であるため、このコードはコンパイルされません。TestPureオブジェクトを変更するため、その関数を純粋にすることはできません。私は何かが足りないのですか?それともこれは制限ですか?

以下はコンパイルします:

〜=演算子は、msg配列の不純な関数として実装されていませんか?なぜコンパイラはrun1関数でそれについて文句を言わないのですか?

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

f# - F#を使用した純粋な機能

F#をHaskellのような純粋な関数型言語のように動作させることは可能ですか?たぶんいくつかのコンパイラ指令を使用していますか?

PS:私はC / C ++のバックグラウンドを持っているので、Haskellを学ぶことなく関数型プログラミングを学ぶように強制したいと思います:)

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

function - べき等関数は純粋関数と同じですか?

ウィキペディアの冪等性の説明を読みました。関数の出力がその入力によって決定されることを意味することを私は知っています。しかし、非常によく似た概念である純粋関数を聞いたことを覚えています。私はそれらをグーグルで検索しましたが、それらの違いを見つけることができません...

それらは同等ですか?

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

functional-programming - D で関数を返す関数の純関数

他の 2 つの純粋関数の乗算を返す純粋関数を作成しようとしています。

残念ながら、私は問題に直面しています.1つ目は、f1とf2をopCallが定義された純粋な関数/デリゲート/クラスであると宣言したい...純粋な関数から呼び出しているためです。

しかし、2番目の最も問題と思われるのは、f1とf2を1つの「実」値を返す「実」変数の関数にしたいということです...しかし、テンプレート化する方法がわかりませんこのアウト...

誰にもアイデアはありますか?

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

function - 「純粋な」関数が「純粋」と呼ばれるのはなぜですか?

純粋な関数とは、副作用のない関数です。どのような種類の I/O も実行できず、状態を変更することもできません。また、参照透過的です。同じ入力で複数回呼び出された場合、常に次の結果が返されます。同じ出力。

これらのプロパティを持つ関数を説明するために「純粋」という言葉が使用されるのはなぜですか? そのように「純粋」という言葉を最初に使ったのは誰で、いつですか? ほぼ同じことを意味する他の単語はありますか?

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

d - 純粋関数が純粋を返すとはどういう意味ですか?

純粋関数が純粋を返すとはどういう意味ですか?

コードは を指定せずにコンパイルされるredundant storage class pureので、これはバグではないと思いますか?

// DMD 2.056

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

d - この純粋な関数はどのようにして非公開の状態を変更できますか?

TDPL、p。167:

関数の変更可能な状態が完全に一時的(つまり、スタックに割り当てられている) かつプライベート(つまり、それを汚染する可能性のある関数への参照によって渡されない) である限り、その関数は純粋であると見なすことができます。

スタック上にあるため、変更可能な状態は一時的ですよね?しかし、それはプライベートではありません。では、どのようfoo()に変更できるのm1でしょうか?

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

haskell - Haskell: IO モナドに閉じ込められた

パッケージにあるparseFile関数を使用してファイルを解析しようとしています。haskell-src-exts

parseFileもちろんの出力を処理しようとしていますが、IOを回避する方法がわかりませんIO。関数を見つけましたliftIOが、それがこの状況の解決策であるかどうかはわかりません。これが以下のコードです。

pMod'の出力で関数を使用できるようにしたいだけですparseFile

すべての型とデータ コンストラクター、それは役立ちます。前もって感謝します!