コンテンツにスキップ
Wikipedia

先行評価

出典: フリー百科事典『ウィキペディア(Wikipedia)』
この記事は検証可能参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)
出典検索?"先行評価" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL
(2014年12月)

先行評価(せんこうひょうか、: eager evaluation)、正格評価(せいかくひょうか、: strict evaluation)、厳密評価とは、プログラミング言語における評価戦略の一種であり、多くの言語処理系で標準的に使われている戦略である。

概要

[編集 ]

先行評価では、変数の値が得られた時点で即座に数式が評価される。一般に、評価の済んでいない数式を表す中間的なデータ構造を構築・管理する必要がないため、単純なプログラミング言語ではこれが最も効率的である。

先行評価の主な利点は、そのメモリ使用量と速度である。例えば、次のBASICのコードを考えてみよう。

x = 5 + 3 * (1 + 5 ^ 2)
print x
print x + 2

先行評価では、先頭行が出現した時点で評価が行われ、x の値が 83 と確定する。従って、その後の "print x" と "print x + 2" の行で x の値を計算するという手間を掛けることがない。このため、時間的性能はもちろんのこと、数式を保持しておく必要もないので、メモリ使用量も削減される。遅延評価方式のプログラミング言語でもメモ化が行われるため、評価が何度も行われるというわけではない。

関連項目

[編集 ]

AltStyle によって変換されたページ (->オリジナル) /