Ruby
tDiary
影舞
Hiki
Chef
Vagrant
Ruby on Rails GitHub Metasploit Redmine Basecamp RadiantCMS
qwikWeb
WEBrick
Mongrel(英語版)
Phusion Passenger
Puppet
mikutter
Serverspec
配列の各要素への繰り返し処理
以下はブロックを使わずに同じことを行う場合
指定した回数の繰り返し処理
gsub()による文字列置換の繰り返し処理
次のコードはPersonという名前のクラスである。その中、まずinitializeはオブジェクトを初期化するコンストラクタである。ほかに2つのメソッドがあり、1つは比較演算子である<=>をオーバーライドしておりArray#sortによりプロパティageでソートすることができる。もう1つのオーバーライド箇所のto_sメソッドは Kernel#puts での表示の形式を整える。attr_readerは Ruby におけるメタプログラミングの例であり、attr はインスタンス変数の入出力を司る、いわゆる値を取得する getter メソッドや値を設定する setter メソッド(アクセサ)を定義する。attr_readerは getter メソッドのみの定義である。なおメソッド中では最後に評価された式が返り値となり、明示的なreturnは省略できる。
結果は3つの名前が年の大きい順に表示される
実際に行いたい処理をブロックで記述する。前項の後処理の省力化もこれの一例といえる。
この例は、ツリーから要素と分枝をつぎつぎと取り出して取り出したものになんらかの処理を行うものである。メソッドの利用者は、なんらかの処理のみを記述すればよく、取り出しのアルゴリズムなど、本質的でない内容に意識を向ける必要がなくなる。