式 (プログラミング)

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索

(しき、expression)とは、プログラミングにおいて、言語によって定められた優先順位や結びつきの規定に則って評価される変数演算子関数の組み合わせである。数学における式と同様、式は評価された値を持つ。

言語によっては式が副作用を持つこともあり、参照透過性がない場合もある。

代入式[編集]

代入が式として扱われる場合、代入式と呼ぶ。

代入式の有無において顕著な例として、C#VB.NETが挙げられる。 C#においては代入は式であるが、同じ.NET系言語であるVB.NETでは代入は文である。 そのため、似たようなコードではあるが全く違う処理結果を得る。

// C#
dynamic x = 123;
dynamic y = 234;
dynamic z;

z = y = x;

Console.WriteLine(x); // 123
Console.WriteLine(y); // 123
Console.WriteLine(z); // 123
  1. y = xがまず評価される。yxの持つ123が代入され、この式の値は123となる。
  2. z = 評価結果が評価される。zy = xの結果の123が代入され、この式の値は123となる。
  3. これ以上評価する式がない(セミコロンで終端している)ため、文として完結する。この時、式全体の評価結果である123は捨てられる。
' VB.NET
Dim x = 123
Dim y = 234
Dim z

z = y = x

Console.WriteLine(x) '123
Console.WriteLine(y) '234
Console.WriteLine(z) 'False
  1. y = xが評価される。=は等価演算子と見なされ、この式の値はFalseとなる。
  2. z = 評価結果が代入文として実行される。zy = xの結果のFalseが代入される。(文であるため、値を持たない)

関連項目[編集]