タグ

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

タグの絞り込みを解除

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

  • クロージャからProject Lambdaへ

    今回はJava SE 7で導入される機能について紹介していきます。 筆者が思うに、Java SE 7で最も議論を起こすであろう機能はクロージャです。クロージャの導入には紆余曲折がありましたが(詳しくは記事の後半で述べます)、とうとう2009年11月に正式に導入されることが決まりました。 そこで、連載ではいち早くクロージャについて取りあげることにします。 とは言うものの、現在提案されている仕様はまだたたき台レベルです。このため、今後仕様が大幅に変化する可能性があります。その点をご了承ください。 関数型とクロージャ クロージャの仕様を紹介する前に、クロージャがどういうものかということを説明しましょう。 ここでは例として、ボタンをクリックしたときのイベント処理を考えてみます。 Swingではイベントの処理をリスナを用いて行います。例えば、以下のようなコードになります。 JButton but

    クロージャからProject Lambdaへ
  • Python Hack : 噛めば噛むほどおいしくなるクロージャの話

    最近 JavaScript を書く機会が増えているが、それに従って自分のコーディングスタイルが少しづつだが変化してきているのが分かる。もともと「コードの読みやすさ」や「実行効率」にとことんこだわるタイプだが、(JavaC++になくて)JavaScriptRubyにあるクロージャや無名関数が私のコーディングスタイルにとてもマッチしているからだと思う。 簡単な例を紹介しよう。Pythonで書かれた config.py というモジュール。config.yamlという設定ファイルを読み込んで Dictionary として返す config.get() という関数。普通に実装すると、以下のような感じになる。 import yaml _config = None def get(): global _config if not _config: data = open('config.yaml')

  • 1