メインメニューを開く

差分

遅延評価

36 バイト除去, 2023年3月15日 (水) 05:49
x = 5 + 3 ; 正確評価では5 + 3が実行されxに8が代入されます。
PRINT x ; 正確評価ではxの内容を表示するだけです。
PRINT x + 1 ; 正確評価ではx + 1が実行され結果が表示されます。正確評価ではxの内容を表示するだけです。
</syntaxhighlight>
x = 5 + 3 ; 遅延評価ではまだ実行されません。
PRINT x ; 遅延評価ではx = 5 + 3が実行され結果が表示されます。
PRINT x + 1 ; 遅延評価では再びx = 5 + 3が実行され、その結果に+1した結果が表示されます。3が実行され結果が表示されます。
</syntaxhighlight>
遅延評価は上記を見ての通り「x = 5 + 3」の計算が何度も発生して[[プログラム]]の実行効率は悪そうに見えますが、遅延評価を使用することで無限のリストなどの無限のデータ構造を表現することも可能になります。