u16suzuの blog

u16suzu のブログです。

Rubyのブロックつきメソッド

Rubyにはブロックつきメソッドというものがある。これは配列やハッシュの各要素に対してのイテレータ。特にArray.mapメソッドは凄い便利ですね。感動しました。

#---配列
a = ["Dog", "Cat", "Rat"]

p a

#配列の各要素objに対して,"my "を付け足して出力する。
p a.map { |obj| "my " +  obj }

#破壊的メソッドもある。
a.map! { |obj| "your " + obj }

p a

#---ハッシュ
p "hash"

h = {"Dog"=>1, "Cat"=>2, "Rat"=>3}

p h

#各キーと値の一覧を出力
h.each { |key, value| p "key: " + key +"  " + "value: " + value.to_s }