質問: プログラム内で使われる「評価」という言葉は、変数や定数、関数内の値を計算するときも使われるし、 関数に指定していた引数を利用するときも使われるし、多義的で個人的に言うとふわふわしていて、 なんどか質問してみたものの中々整理つかない単語であります。評価という言葉を利用しているときもいまいち意味を噛みしめて使っているかというと疑問が残ります。 なぜ評価という単語は、色々な意味を含有するのでしょうか。演算なら「演算」、引数を利用するのなら「引数を利用する」と説明するのは、いけないことなのでしょうか。 評価という言葉は、とても汎用的なので使われたときは、文脈で察して含有している意味を選ぶ必要があります。 ここで質問ですが演算だったり引数を利用してみたり色々な意味を含有する評価という言葉自体を説明するとどうなりますか。それとも文脈で察するべきなのでしょうか。 またこの言葉に関連して「評価値」という言葉の意味も教えてください。
回答: "Evaluate" を翻訳したのが「評価」です。「演算の結果を出す」という意味でしょうか。 「関数に指定していた引数を利用するとき」にも「評価」と言うことがあるのは、それが「演算の結果を出す」に当てはまるからです。 多くのプログラミング言語において、「定数だけ」「引数だけ」も「式」です。 たとえば javascript ES7 の仕様書では以下のように: (日本語はいま適当に選びました間違ってるかもしれません) > > 「式」とは 「代入式」または「式, 代入式」という形 > > 「代入式」とは「条件式」または「Yield式」または「アロー式」または「左辺式 `=` 代入式」または「左辺式 代入演算子 代入式」という形 > > 「条件式」とは「論理和式」または「論理和式 `?` 代入式 `:` 代入式」という形 > > 「論理和式」とは「論理積式」または「論理和式 `||` 論理積式」という形 > > 「論理積式」とは「ビットOR式」または「論理積式 `&&` ビットOR式」という形 > > 「ビットOR式」とは「ビットXOR式」または「ビットOR式 `|` ビットXOR式」という形 > > 「ビットXOR式」とは「ビットAND式」または「ビットXOR式 `^` ビットAND式」 > > 「ビットAND式」とは「比較式」または「ビットAND式 `&` 比較式」 > > 「比較式」とは「シフト式」または「比較式 `<` シフト式」または「比較式 `>` シフト式」...... > > 「シフト式」とは「加減式」または「シフト式 `<<` 加減式」...... > > 「加減式」とは「剰余式」または「加減式 `+` 剰余式」または「加減式 `-` 剰余式」 > > 「剰余式」とは「べき乗式」または「剰余式 乗除演算子 べき乗式」 > > 「べき乗式」とは「単項式」または「更新式 `**` 単項式」 > > 「単項式」とは「更新式」または......「`+` 単項式」または「`-` 単項式」...... > > 「更新式」とは「左辺式 `++`」または「左辺式 `--`」 > > 「左辺式」とは「new式」または「Call式」 > > 「new式」とは「Member式」または「`new` new式」 > > 「Member式」とは「Primary式」または「Member式」`[`式`]`」または 「Member式`.`識別名」...... > > 「Primary式」とは「`this`」または「識別子参照」または「**定数**」...... > > 「識別子参照」とは「識別子」または `yield` > > 「識別子」とは「**識別名**」ただし予約語でない > > > > > 識別子参照を評価すると、その参照の値を返す (つまり、変数や引数の値を返す) > > >