「遅延評価」の版間の差分
Administrator (トーク | 投稿記録) 編集の要約なし |
Administrator (トーク | 投稿記録) 編集の要約なし |
||
| (同じ利用者による、間の3版が非表示) | |||
| 8行目: | 8行目: | ||
x = 5 + 3 ; 正確評価では5 + 3が実行されxに8が代入されます。 | x = 5 + 3 ; 正確評価では5 + 3が実行されxに8が代入されます。 | ||
PRINT x ; 正確評価ではxの内容を表示するだけです。 | PRINT x ; 正確評価ではxの内容を表示するだけです。 | ||
PRINT x | PRINT x ; 正確評価ではxの内容を表示するだけです。 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| 14行目: | 14行目: | ||
<syntaxhighlight lang="basic"> | <syntaxhighlight lang="basic"> | ||
x = 5 + 3 ; 遅延評価ではまだ実行されません。 | x = 5 + 3 ; 遅延評価ではまだ実行されません。 | ||
PRINT x ; | PRINT x ; 遅延評価では5 + 3が実行され結果が表示されます。 | ||
PRINT x | PRINT x ; 遅延評価では5 + 3が再び実行され結果が表示されます。 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
遅延評価は上記を見ての通り「x = 5 + 3」の計算が何度も発生して[[プログラム]] | 遅延評価は上記を見ての通り「x = 5 + 3」の計算が何度も発生して[[プログラム]]の実行効率は悪そうに見えますが、遅延評価を使用することで[[スタックオーバーフロー]]せずに「無限のリスト」などの無限のデータ構造を表現することも可能になります。なお[[メモリ]]は勢いよく消費します。 | ||