タグ

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

タグの絞り込みを解除

closureと*rubyに関するgan2のブックマーク (3)

  • Martin Fowler's Bliki in Japanese - CollectionClosureMethod

    http://martinfowler.com/bliki/CollectionClosureMethod.html (detectとinject部分を明確にするよう更新) Smalltalkでプログラミングを始めたときから、コレクションクラスが好きでした。 よく使う強力なオペレーションを簡単に使うことができました。 Javaが登場したとき、このようなメソッドがなくなって物足りないと感じました――Java(およびC#)のコレクションは、Smalltalkのそれと比べて非常に限定されたものでした。 というのも、JavaにはClosureが実装されていなかったからです。 Smalltalkの強力なコレクションのメソッドは、すべてクロージャに依存しています。 近年、私はRubyで頻繁にプログラミングをするようになりました。 Rubyに引き付けられたのは、Rubyには強力なコレクションメソッドがあ

    gan2
    gan2 2008/07/28
    「クロージャとコレクションのコンビネーションによって、素晴らしいことができる」
  • 2006-04-18 - バリケン

    Martin Fowler's Bliki in Japanese - Closureを読んでいたら、なんとなく「手続きオブジェクト」がわかってきたよ。まず、Rubyには「コードの塊(かたまり)」「コードブロック」あるいは単に「ブロック」と呼ばれるものがあるよ(全部同じことを言っているよ。以下「ブロック」で統一するよ)。たとえば、 { puts 'Hello, world!' puts 'Hello, world!' puts 'Hello, world!' } というのがブロックだよ。ブロック自体はリテラルじゃないけど、Procクラスを利用すると「手続きオブジェクト」としてオブジェクト化できるよ。 hello = Proc.new { puts 'Hello, world!' puts 'Hello, world!' puts 'Hello, world!' } 手続きオブジェクトに対し

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

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

    gan2
    gan2 2007/05/30
    分かりやすいクロージャの説明
  • 1