タグ

クロージャに関するamerica66のブックマーク (2)

  • 詳解 Java SE 8 第2回 ラムダ式

    今回から、具体的なJava SE 8の新機能について紹介していきます。はじめに紹介するのは、やはりJava SE 8の機能の中で最も注目されているProject Lambdaです。 とはいっても、Project Lambdaで策定している仕様を1回で紹介するには範囲が広過ぎます。そこで、今回はProject Lambdaの中で、最も基的な部分であるラムダ式を中心に紹介していきます。 Project Lambdaの成り立ち 前回、紹介したようにJava SE 7のリリースが遅れた要因の1つに、Project Lambdaがあります。 Project Lambdaの成り立ちについては、連載の2010年3月の「クロージャからProject Lambdaへ」で言及しました。しかし、それから随分時間が経ってしまいましたし、その後もやはり紆余曲折あったので、改めてここでまとめてみましょう。 Pro

    詳解 Java SE 8 第2回 ラムダ式
  • クロージャ - Wikipedia

    クロージャ(クロージャー、英語: closure)、関数閉包はプログラミング言語における関数オブジェクトの一種。いくつかの言語ではラムダ式や無名関数にて利用可能な機能・概念である。引数以外の変数を実行時の環境ではなく、自身が定義された環境(静的スコープ)において解決することを特徴とする。関数とそれを評価する環境のペアであるともいえる。この概念は少なくとも1960年代のSECDマシンまで遡ることができる。まれに、関数ではなくとも、環境に紐付けられたデータ構造のことをクロージャと呼ぶ場合もある。クロージャをサポートする言語によるプログラミングでは、単に関数の中に関数を定義することができるだけでなく、その際に、外側の関数(エンクロージャ)で宣言された変数を暗黙的に内側の関数に取り込んで操作することができる。主な利点としてはグローバル変数の削減やコールバック関数記述の簡素化が挙げられる。 典型的に

  • 1