「非正格」の版間の差分

編集の要約なし
編集の要約なし
1行目: 1行目:
'''非正確'''(ひせいかく)とは、[[プログラミング]]において[[関数]]の[[引数]]が関数本体の評価で実際に使われるまで評価されないことをいう。
'''非正確'''(ひせいかく)とは、[[プログラミング]]において[[関数]]の[[引数]]が関数本体の評価で実際に使われるまで評価されないことをいう。最近では「[[遅延評価]]」や「[[短絡評価]]」と呼ばれることが多い。
最近では「[[遅延評価]]」や「[[短絡評価]]」と呼ばれることが多い。
 
* 正格評価(Strict Evaluation / Eager Evaluation): 関数を呼び出す直前に引数をすべて計算する。
* 遅延評価(Lazy Evaluation): 必要になるまで計算を遅らせる。
 
== 「遅延評価」と「短絡評価」の違い ==
「遅延評価」と「短絡評価」は厳密にはこれらは異なる概念です。なお、こんな細かいこと気にしていたら確実にハゲます。
 
=== 遅延評価(Lazy Evaluation)===
必要な時まで計算しない技術全般。パフォーマンス向上や、無限リストを扱う場合などに有効。
 
=== 短絡評価(Short-circuit Evaluation)===
「&&」や「||」などの論理演算子において、左辺の値だけで結果が決まる場合、右辺を評価しない挙動。これも評価を遅らせる(またはスキップする)点では「遅延」の一種ですが、主に論理演算の最適化を指します。


[[category: プログラミング]]
[[category: プログラミング]]