Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】lambda()関数の使い方

lambda関数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

lambda関数は、コードのブロックをProcオブジェクトとして生成し、扱うための特別な関数です。Rubyでは、メソッドに渡されるブロックをより柔軟に利用するために、このlambdaが提供されています。

lambdaを使用すると、通常のメソッドの引数として直接渡されるブロックとは異なり、ブロックを変数に代入したり、メソッドの引数として渡したり、メソッドの戻り値として返したりすることが可能になります。これにより、コードの再利用性が向上し、プログラムの柔軟性が高まります。

このlambdaには、通常のブロックやProc.newで生成されたProcオブジェクトとは異なる、重要な二つの特徴があります。一つ目は、引数の数を厳密にチェックする点です。lambdaが定義された際に指定された引数の数と、実際に呼び出される際に渡される引数の数が一致しない場合、ArgumentErrorが発生します。これにより、予期しない引数の不一致によるバグを防ぐことができます。

二つ目の特徴は、returnキーワードの挙動です。lambda内でreturnを使用すると、そのreturnが実行された時点でlambdaの実行を終了し、lambdaが呼び出された場所に制御が戻ります。これは、通常のRubyメソッド内でreturnを使用した場合と同様の振る舞いです。これにより、lambdaをより予測可能で独立した関数のように扱うことができます。

これらの特性により、lambdaはコールバック関数や高階関数の実装において、安全で堅牢なコードを記述するための強力なツールとして広く活用されています。

構文(syntax)

1my_lambda = -> (param1, param2) { param1 + param2 }

引数(parameters)

引数なし

引数はありません

戻り値(return)

Proc

lambdaメソッドは、引数を受け取ってブロックを実行し、その結果をProcオブジェクトとして返します。このProcオブジェクトは、後から呼び出すことができます。

関連コンテンツ

関連プログラミング言語