29 Apr '12, 10am

@antimon2 これですね。=> Rubyist Magazine - enumerable_lz による遅延評価のススメ

enumerable_lz は gem として公開しています。原稿執筆時点 (2011/05 現在) の最新版は 0.1.4 です。 インストールは以下のコマンド一発で OK。 $ gem install enumerable_lz またソースコードは github で公開 (https://github.com/antimon2/enumerable_lz ) しています。 なお動作環境は、Ruby1.8.7 と Ruby1.9.x 以降です。JRuby、MacRuby でも動作します。 使い方 require 'enumerable_lz' すると、Enumerable に 3 つの「遅延評価メソッド」が追加されます。 Enumerable#filter Enumerable#filter_with_initproc Enumerable#transform これらのうち、filter メソッドと transform メソッドについて簡単に説明します (filter_with_initproc メソッドの説明は省略します)。 filter メソッドは、その名のとおり Enumerable の各要素をフィルタリングして結果を返すメソッドです。引数には、パターンかブロックを受け取ります。 transform メソッドもその名の示すとおり、Enumerable の各要素を変換して結果を返します。引数はブロックのみです。 いずれも戻り値は Enumerable で、そのまま他の Enumerable モジュールのメソッド (map、inject、等) をチェインできます。 例えば以下のような記述ができます。 list1. enumerable_lz のサンプルコード 1*1 *2 # require RUBY_VERSION >= '1.9' require 'enumerable_lz' require 'prime' p (1..Float::INFINITY).transform{|n|n**2+1}.filter{|m|m.prime?...

Full article: http://jp.rubyist.net/magazine/?0034-Enumerable_lz

Tweets

Rubyist Magazine - あなたが南米のRubyカンファレンスに参加するべきn個の...

jp.rubyist.net 25 Apr '12, 12am

筆者は 2011 年 11 月、南米で行われた二つの Ruby カンファレンス、RubyConf Argentina (以下 RubyConf AR) および RubyConf Uruguay (以下 RubyConf UY) に参加した。本記...

なんなんだろうこれ・・・

jp.rubyist.net 11 May '12, 7am

るびま Index Search Changes Login C 十字軍現る! Tweet Last modified:2005/10/10 20:50:31 はじめに (編集: ko1) 真っ赤なRuby 仮面にう〜けて (略) ゴォ〜! ゴ...