純粋な関数は、同じクラス内のプライベート定数変数を使用できますか?純粋な関数は、同じクラス内のプライベート定数変数を使用できますか?
class TimesThousand {
const CONSTANT = 1000;
function calculate(number) {
return number * CONSTANT;
}
}
calculate()
pure function
として考えることができます。たとえば
?
純粋な関数は、同じクラス内のプライベート定数変数を使用できますか?純粋な関数は、同じクラス内のプライベート定数変数を使用できますか?
class TimesThousand {
const CONSTANT = 1000;
function calculate(number) {
return number * CONSTANT;
}
}
calculate()
pure function
として考えることができます。たとえば
?
戻り値が入力値によってのみ決定され、観察可能な副作用がない場合、純粋な関数は純粋です。
あなたの機能は純粋です。 CONSTANT
の値は(名前が示すように)定数なので、出力は純粋に入力によって決まります。
:Wikipediaから
値。関数の結果値は、プログラムの実行中またはプログラムの異なる実行間で変更される可能性のある隠れ情報や状態に依存することも、I/Oデバイスからの外部入力に依存することもできません。
しかし、最初の声明は2つの異なる「実行中」から保持されません。プログラム "では、定数は異なる値を保持することがあります。たとえば、APP_NAMEは定数ですが、実行中のプログラムのインスタンスによって変わることがあります。何か不足していますか? – P0lska
「定数」の価値はどう変わりますか?それは決して変わることのできない、不変の価値です。 –
どのような言語ですか?そして、はい、書かれているように、それは純粋な機能です。 – melpomene
あなたの答えに感謝します。大まかなドラフトコード – bbnn
定数がどのように関数の純度に影響すると思いますか? – Bergi