やじうまの杜

C言語などでおなじみの三項の条件演算子(:?)、「Delphi 13」でObject Pascal言語に

Pascal言語の誕生から50年以上、ようやく導入

 「やじうまの杜」では、ニュース・レビューにこだわらない幅広い話題をお伝えします。

「Delphi 13」でついに三項の条件演算子が?

 Embarcadero製の統合開発環境(IDE)「RAD Studio」の次期バージョン「RAD Studio 13」(開発コード名「Ganymede」、現在ベータ版)では、Delphi(Object Pascal)言語に初めて 条件演算子(三項演算子) が追加されるのだそうです。

 条件演算子は「もし A が真ならば B、そうでなければ C を返す」という処理をコンパクトに表現するためのもので、C言語系のプログラミング言語では「A ? B : C」などと書きます。一般の演算子は項を2つしか持ちませんが、C言語系のプログラミング言語ではこの条件演算子だけが項を3つもつため、三項演算子とも呼ばれます。

C言語系のプログラミング言語の条件演算子

 簡潔に書ける点がメリットですが、一方で複数行に渡ったりネスト(入れ子)になると可読性が低くなる(読みにくい)ので避けるべきとする人も多く、賛否が分かれる言語機能と言えるでしょう。

 Delphi言語の祖先にあたるPascal言語は1970年に発表されて以降、三項の条件演算子をもちませんでした。しかし、50年以上も経ってなぜか、ついに実装されることになったというわけです。

Delphi言語の条件演算子

 2つの部分式(項)は同じ型であるか、直接代入可能な型である必要がある(型間の一貫性)点や、加算などの他の演算子のほうが優先順位が高いため、適宜括弧でくくる必要がある点などには気を付ける必要がありますが、一行でシンプルに条件式を記述できるのはうれしいところでしょうか。

 この新しい言語機能は、「RAD Studio 13」の一部として「Delphi 13」でリリースされる予定だそうです。