本文へ移動

return文(プログラミング)

return文の解説。関数やメソッドにおける役割、言語ごとに異なる戻り値の型と形式、実用例、例外や暗黙の戻りとの重要な違いを説明する。

概要

return文は、多くのプログラミング言語における制御構文であり、関数、メソッド、または手続きが生成する値を指定し、制御を呼び出し元へ戻す。オブジェクト指向の文脈では、メソッドはreturnによって、それを呼び出したコードに出力を提供できる。値を返すことはデータを渡すと同時に、そのサブルーチン内の通常の実行の流れを終了させ、場合によっては変更する。そのため呼び出し元は結果を受け取り、処理を継続できる。

形式と動作

returnの動作は、言語およびサブルーチンに宣言された戻り値の型によって異なる。代表的なパターンには次のものがある。

  • 型付きの戻り値: 静的型付け言語などでは、数値型やオブジェクトなどの戻り値の型を宣言する必要がある。返す値は、その型に一致するか、その型へ変換可能でなければならない。
  • voidまたはunit: 意味のある値を返さないルーチンもある。この場合は、しばしばvoidまたはunitと呼ばれる特別な型を用い、returnはルーチンを終了するためだけに使われる。
  • 複数の値: タプルまたは複数の値を返すことを許す言語もあり、呼び出し元はそれらを分解して受け取れる。
  • 暗黙の戻り値: 式指向の言語や一部のスクリプト言語では、明示的なreturnキーワードがなくても、最後に評価された式を返すことがある。

歴史と言語間の違い

値を返すという概念は、関数が結果を生成した初期の手続き型言語にまでさかのぼる。その後、言語では明示的なreturn文、式による返却、オブジェクト上のメソッドに対する別個の扱いなど、さまざまな形式が導入された。一般的なプログラミング概念の入門についてはプログラミングの基礎を、オブジェクト指向におけるメソッドの慣例についてはオブジェクト指向プログラミングを、オブジェクトとメソッドに関する用語についてはオブジェクトとメソッドを参照。

実用的な用途と例

returnは、計算結果を提供し、成功または失敗を示し、プログラムの層の間でデータを渡すために用いられる。一般的な慣用句には、エラー条件を処理するための早期returnや、主要なロジックを一つのインデントレベルに保つガード節がある。関数をテストしやすく、その動作を推論しやすくするため、多くの設計では不変値を返し、副作用を避けることが推奨される。

重要な区別と注意点

returnは例外とは異なる。戻り値は通常の出力であるのに対し、例外は異常な状態を示し、呼び出しスタックを巻き戻す。末尾呼び出し除去などの最適化は、一部のコンパイラやインタプリタにおいて実行時のreturnの動作に影響し得るが、これは言語と実装に依存する。ある言語がreturnを文として扱うか式として扱うかを理解することは、正しく慣用的に使用するうえで重要である。

要するに、return文は結果を生成し、制御の流れを管理するための基本的な仕組みである。正確な構文と意味論は言語ごとに異なるため、詳細および慣用的な実践については各言語の文書を参照する必要がある。

著者

AlegsaOnline.com return文(プログラミング)

URL: https://ja.alegsaonline.com/art/82360

共有