rubyのEnumerableつかって全て回す
あけましておめでとうございます。
今年もよろしくお願いします。
年末年始にjavaでもやるかと言っていたのに蓋を開けてみればrubyのリファレンスを
読んでいます。
rubyといえばeachですね!
クラス内のアトリビュートを数え上げたい場合は
include Enumerable+eachメソッドの定義一発で良いですが、数え上げたい対象が
複数あってすべてやりたい場合はどうするの?ということで適当に書いたら普通に
動いてビビりました。rubyはやっぱり気持ち良いですね。
#! /usr/bin/env ruby class Hoge include Enumerable def initialize @a = [0,1,2,3] @b = [:a,:b,:c] @c = %w("あ" "け" "ま" "し" "て" "お" "め" "で" "と" "う" "ご" "ざ" "い" "ま" "す") end def each @a.each {|e| yield e} @b.each {|e| yield e} @c.each {|e| yield e} end end hoge = Hoge.new hoge.each {|e| print "#{e} " }
出力 % ruby ./hoge.rb 0 1 2 3 a b c "あ" "け" "ま" "し" "て" "お" "め" "で" "と" "う" "ご" "ざ" "い" "ま" "す"