最終更新:2013-09-21 (土) 03:34:45 (4039d)  

ラムダ式
Top / ラムダ式

http://www.atmarkit.co.jp/fdotnet/csharp30/csharp30_01/csharp30_01_01.html

メモ

ラムダ計算が複雑だからといって、ラムダを使用することに尻込みする必要はありません。ラムダは実際には無名関数でしかありません。

計算規則

  • アルファ変換?
  • ベータ還元?

メモ

  • xを受け取ってAを返す関数をあらわすλ式
    (λx.A)

ラムダ式とは何か?(.NET)

名前のないメソッドであり、生成結果(=ラムダ式の記述内容)はそのままデリゲート型の変数や引数に入れて使う。

(引数の名前リスト)=>{ 実行内容 }
using System;

//ラムダ式格納用デリゲート
delegate void someDelegate(string message);

class Program
{
  static void Main(string[] args)
  {
    //ラムダ式を使ってデリゲートの処理内容を記述
    someDelegate action = (message)=>
    {
      Console.WriteLine(message); // ラムダ式の内容
    };
    action("Hello! World!"); // 出力:Hello! World!
  }
}

C♯ 3.0

//左辺 = 入力パラメータ。1つ目が入力のパラメータ、2つ目(最後のパラーメータ)が戻り値の型
//右辺 = 式またはステートメント。 ラムダ演算子の左辺のnumは入力、右辺は式。
Func<int,int> myDelegate = (num) => num*num;
int j =myDelegate(5);
 

Visual Basic 9.0?

  • VB9.0のラムダ式は計算を実行して単一の値を返す無名関数
Dim myDelegate = Function(num as Integer) num*num
Console.WriteLine(myDelegate(5))

PHP

$horse = function() {return "with no name";};
print $horse();

関連