問題タブ [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.
javascript - この純粋関数の実装が外部依存関係があると見なされないのはなぜですか?
pure function
次のような非常に単純な例の概念には問題ありません...
同じ引数を指定すると、同じ結果が得られ、参照透過性と優れた決定論的コードにつながります。
しかし、その後、私はこれらのような例に出くわしました(フリスビー教授のほとんど適切なガイドから取得しましたが、他のFP JS本で同様の例を見つけました)
また、外部依存関係 (つまり、不純) と見なされない理由がわかりませんsaveUser
orへの呼び出しwelcomeUser
。
関数/IO の観点からは、signUp
常に「同じ」(同等の) 有線関数を返すことはわかっていますが、私には奇妙に感じます。
理由さえ理解するのは難しい
と考えられpure
ます。返された関数 POV から、アクセスtimes
はスコープ チェーンのルックアップであり、すぐ外側のスコープから、またはそれを超えて (グローバル スコープのように) 来る可能性があります。
これに光を当てたい人はいますか?
react-native - コンポーネントは純粋な関数として記述する必要があります
反応ネイティブの Android アプリケーションがあります。index.android.js の私のコンポーネントはステートレスであるため、eslint は「コンポーネントは純粋な関数として記述する必要があります」というエラーをスローしています。コンポーネントを純粋関数として作成する場合、アプリケーションを登録するにはどうすればよいですか、またはインスタンス化をどのように行うべきですか?
php - 静的構成に外部依存するメソッドは純粋と見なすことができますか?
私はこのクラスを持っています。
構成は起動時に設定され、実行時に変更することはできません。そのため、特定の実行時に同じ引数を使用すると常に同じ結果が得られますが、プログラムの異なるインスタンスについて同じことを言うことはできません。
getVal(string)
純粋な関数と見なすことができますか?
同じ機能の別の非 OOP バージョンは次のようになります。