【せんこうひょうか】
先行評価 とは?
最終更新:
💡 「聞いた瞬間に答えを出す」即断即決タイプの評価戦略。
必要になるまで計算を保留せず、先に値を求める評価戦略。たとえば通常の関数呼び出しで、引数の式を評価してから関数本体を実行する。遅延評価と対比される。
📌 このページのポイント
プログラムって、式をいつ計算するか違うの?
先行評価はどんなタイミングで計算するの?
Pythonでx = 1 + 2を実行するなら、右辺の値を求めてからxへ代入するよ。関数へheavyCalc()の結果を渡すなら、その呼び出しを済ませてから本体へ進む。コードを書いたり、実行しない分岐に式を置いたりしただけで計算されるわけではないんだ。
先行評価なら副作用の順序も決まるの?
デメリットもあるの?
まとめ:ざっくりこれだけ覚えればOK!
「先行評価」って出てきたら「必要になるまで待たず、先に値を求める方法」と思えればだいたいOK!
📖 おまけ:英語の意味
「Eager Evaluation」 = 先行評価・即時評価
💬 eagerは熱心な、待ちきれないという意味の英単語。必要になるまで計算を保留せず、先に値を求めるイメージだよ。ソースコードを書いた瞬間に実行するという意味ではないんだ