本文へスキップ

ラムダ式とは?

らむだしき

ラムダ式とは、名前を持たない無名関数を簡潔に記述するための構文で、多くのプログラミング言語で利用できます。

ラムダ式(lambda expression)とは、関数名を持たずにその場で定義・使用できる無名関数(匿名関数)の構文です。数学ラムダ計算(λ計算)に由来し、関数型プログラミングの考え方をオブジェクト指向言語などに取り入れるために広く使われるようになりました。

ラムダ式の主な特徴は次のとおりです。

  • 関数を値として変数に代入したり、引数として渡したりできる
  • 記述が短くなりコードの可読性が上がる場合が多い
  • 外側のスコープの変数を「クロージャ」として取り込める
  • コレクションの操作(フィルタ・マップ・ソートなど)と相性が良い

Java 8以降では アロー演算子(->) を使って記述し、Pythonではキーワードlambdaとコロンでシンプルに定義します。JavaScriptではアロー関数(=>)がほぼ同等の役割を果たします。たとえばJavaでリストを年齢順にソートする場合、ラムダ式を使えば1行程度で記述でき、専用の匿名クラスを書く手間が省けます。

ラムダ式は関数型インターフェースや高階関数の文脈で特に威力を発揮し、Stream APIやReactiveプログラミングなど現代的な開発スタイルの基盤となっています。コードの意図を宣言的に表現できるため、現在の主要なプログラミング言語でほぼ標準的に採用されています。

使い方・例文

Pythonで数値リストから偶数だけを抽出する場合、filter(lambda x: x % 2 == 0, numbers) のようにラムダ式を使って簡潔に記述できます。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語