無名関数
(ラムダ式 から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/01/21 01:43 UTC 版)
プログラミング言語における無名関数(英語: anonymous functionあるいはnameless function)[1]とは、名前付けされずに定義された関数のことである。無名関数を表現するための方法には様々なものがあるが、近年[2]主流となっているのはラムダ式による記法である。無名関数を表現するリテラル式は、関数リテラル (function literal) とも呼ばれる。値がある場合は関数オブジェクトであるものが多い。
- ^ 「anonymous」は「匿名の」という意味も持つため、「anonymous function」は日本語で「匿名関数」と訳されることも多いが、「匿名」は(本当の)名前を匿(かく)すことを意味する。anonymous functionの「anonymous」は「名前がない」ということを意味しているので、ニュアンス的には「無名関数」のほうが適切な訳である。
- ^ “Introduction to Data Science in Python”, University of Michigan 2018年6月13日閲覧。
- ^ Anonymous function - HaskellWiki
- ^ 匿名関数 (C# プログラミング ガイド) | Microsoft Docs
- ^ マイクロソフトによるMSDN日本語版ドキュメントでは「匿名関数」「匿名メソッド」としているので、この節ではそれに従っている。「無名関数」と「匿名関数」とで技術的な違いがあるわけではない。匿名メソッド (C# プログラミング ガイド) | Microsoft Docs
- 1 無名関数とは
- 2 無名関数の概要
- 3 Luaの無名関数
- 4 参考文献
ラムダ式
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/06/12 02:32 UTC 版)
従来の匿名メソッドに取って代わる構文として導入された。引数の型が省略できることや、式木に変換することができることで、自然にLINQを導入できるようにした。
※この「ラムダ式」の解説は、「統合言語クエリ」の解説の一部です。
「ラムダ式」を含む「統合言語クエリ」の記事については、「統合言語クエリ」の概要を参照ください。
ラムダ式
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/03 23:38 UTC 版)
ラムダ式が導入された。この名前はラムダ計算に由来する。 以下の匿名メソッド // iを変数としてi+1を返すメソッドdelegate (int i) { return i + 1; } は、ラムダ式を使って次のように記述できる: (int i) => i + 1; /* 式形式のラムダ *///或いは:(int i) => { return i + 1; }; /* ステートメント形式のラムダ */ ラムダ式は匿名メソッドと同様に扱えるが、式形式のラムダがExpression
※この「ラムダ式」の解説は、「C Sharp」の解説の一部です。
「ラムダ式」を含む「C Sharp」の記事については、「C Sharp」の概要を参照ください。
ラムダ式
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/01/21 01:43 UTC 版)
「クロージャ」も参照 ラムダ式 (lambda expression) はラムダ計算と関係が深く、関数型言語で特によく採用されている。 Haskellにおける例を示す。バックスラッシュ '\' がギリシャ文字のラムダ 'λ' のように見えることから、Haskellではラムダ式を表す構文に採用されている。 --let add x y = x + y -- 通常の名前付き関数addの定義。let add = \x y -> x + y -- 2つの引数を取ってその和を返す無名関数を定義し、変数addにバインドする。print $ add 2 3 Haskellでは変数にバインドせずにラムダ式を直接引数に作用させることもできる。 print $ (\x y -> x + y) 2 3 以下のように高階関数の引数にラムダ式を渡すこともできる。 let calc op x y = op x yprint $ calc (\x y -> x + y) 2 3 関数型ではないプログラミング言語においても、ラムダ式を言語機能として取り入れる動きが活発である。 C#ではC# 3.0にて導入された。以下に例を示す。 Func
※この「ラムダ式」の解説は、「無名関数」の解説の一部です。
「ラムダ式」を含む「無名関数」の記事については、「無名関数」の概要を参照ください。
- ラムダ式のページへのリンク