タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

closureに関するitengineerのブックマーク (2)

  • 【コラム】Java API、使ってますか? (58) Java SE 7の要注目機能"クロージャ"はどうなるのか その6 | エンタープライズ | マイコミジャーナル

    新しい制御構文の定義例 Javaのクロージャに関するJSRのドラフトには、クロージャを導入することのメリットとして、新しい制御構文を独自に定義し、JavaAPIを拡張できるということが挙げられている。前回は、Control invocation syntaxを利用して定義した新しい制御構文の例として、任意のロック機構で排他処理を行うwithLock文を紹介した。 同様の例としてよく挙げられるのが、ストリームの処理に利用するwith文だ。with文では引数にストリームオブジェクトを受け取り、処理が終了した際に必ずそのストリームを閉じるという制御構文である。 具体的には、リスト1のような定義になる(プロトタイプ仕様より引用)。ここでは、withメソッドはjava.io.Closeableオブジェクトを受け取り、それをクロージャのinvoke()に渡すように実装されている。そして処理が終了した

  • Martin Fowler's Bliki in Japanese - クロージャ

    http://martinfowler.com/bliki/Closure.html 動的言語に興味がでてくると、 クロージャやブロックと呼ばれる概念に出会うと思います。 C/C++/Java/C# などクロージャを持たない言語をご使用の方は、 どういったものなのかご存知ないかもしれません。 ここでは簡単にクロージャについて説明します。 クロージャを持った素晴らしい言語を使ったことある方にとっては、 あまり面白くない話かもしれません。 クロージャは長年使用されてきました。 私が最初に出会ったのは、おそらく Smalltalk だったと思います。 Smalltalk ではブロックと呼んでいました。 Lisp ではクロージャを多用しています。 Ruby でもクロージャが提供されています――多くの rubyist がスクリプト言語に Ruby を選ぶのはこのためです。 基的にクロージャとは、ブ

  • 1