6章

LISPプログラマは、すべてのものの値を知っているが、それらのコストは知らない

−Alan Perlis, epigram #55†1

[†1] 訳注:Alan Perlisは初期のコンピュータ言語の1つALGOLの作者の一人。第一回のチューリング章を受賞している。このエピグラムは、1982年にSIGPLANジャーナルに発表した「プログラミングに関する警句集」の1つ。https://en.wikipedia.org/wiki/Epigrams_on_Programming参照。

本章では(expression)について説明する。式はRust関数のボディ部を構成し、したがってRustコードのほとんどの部分を構成する。Rustにおいてはほとんどすべてが式だ。本章では、すべてを式にしていることのメリットと、それから生まれる制約を回避する方法を説明する。Rustでは制御フローも式を指向して設計されているが、それも本章で解説する。また、基本的なオペレータを個別に、もしくは組み合わせて利用する方法を示す。

クロージャやイテレータなども技術的には式の一種なのだが、これらはそれぞれ奥深い技術なのでそれぞれ独立した章を設けて議論する。ここでは、少ないページ数でなるべく多くの構文を紹介しよう。

6.1 式言語

Rustプログラムの見た目はC言語の一派に似ているが、これは見た目だけだ。Cでは、(expression)と(statement)が厳密に区別されている。式は、次のようなコード片を指す。

5 * (fahr-32) / 9

文は下に示すようなものだ。

for (; begin != end; ++begin) { if (*begin == target) break; ...

Get プログラミングRust 第2版 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.