質問

私は、結果が引数の値のみに依存している場合、関数呼び出しを最適化できるおもちゃのコンパイラを書いています。したがって、XORや連結型のような関数は入力のみに依存し、同じ入力で呼び出すことは常に同じ出力を与えます。しかし、時間やランドなどの関数は「非表示」プログラム状態に依存し、同じ入力でそれらを呼び出すと異なる出力が得られる場合があります。 「同型」や「再入国」など、これら2つのタイプの機能を区別する形容詞が何であるかを理解しようとしています。誰かが私が探している言葉を教えてもらえますか?

役に立ちましたか?

解決

あなたが探している用語はです ピュア

他のヒント

私はそれが呼ばれていると思います 純粋な機能:

コンピュータープログラミングでは、関数が保持されているこれらの両方のステートメントがある場合、関数は純粋であると説明される場合があります。

  • この関数は、同じ引数値を与えられた同じ結果値を常に評価します。関数結果値は、プログラムの実行が進むにつれて、またはプログラムの異なる実行間で変更される可能性のある隠された情報または状態に依存することはできません。また、I/Oデバイスからの外部入力に依存することもできません。
  • 結果の評価では、可変オブジェクトの変異やI/Oデバイスへの出力など、意味的に観察可能な副作用や出力を引き起こしません。

結果値は、引数値のすべて(または任意の)に依存する必要はありません。ただし、引数値以外に依存する必要があります。

「純粋な関数」を通過すれば、形容詞は「純粋」だと言えると思います。

私は、引数が常に同じである場合、出力が常に同じである関数が「決定論的」と呼ばれることを常に学びました。個人的には、それはより記述的な用語であると感じています。 「純粋な機能」は定義上決定論的であり、副作用がないために純粋な機能も必要であると思われます。私は、すべての決定論的関数に当てはまる必要はないと思います(戻り値が常に同じ引数で常に同じである限り)。

ウィキペディアリンク: http://en.wikipedia.org/wiki/deterministic_algorithm

見積もり:

特定の入力が与えられると、常に同じ出力が生成され、基礎となるマシンは常に同じ一連の状態を通過します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top