Ruby - 基本的な文法 - 本当にすべてオブジェクト
- 1. 本当にすべてオブジェクト
- 2. ハッシュの値にハッシュを設定
1. 本当にすべてオブジェクト
前の方で、スカラ変数的なという言葉を使っていますが、ruby では、変数はすべてオブジェクトということで、変数スコープはあっても型はないのだ。
つまり、下記のソースを書いて
#!/usr/bin/env ruby
value = 1
puts("#{value}")
value = Array[ 1, 2 ]
puts("#{value}")
value = Hash[ :foo => 1, :bar => 2 ]
puts("#{value}")
実行すると以下のようになります。
1
[1, 2]
{:foo=>1, :bar=>2}
2. ハッシュの値にハッシュを設定
ハッシュの値にハッシュを設定することもできます。
下記のソースを書いて
#!/usr/bin/env ruby
hash = { :foo => 'bar', :hoge => 'fuga' }
hash2 = { :hash => hash }
hash2.each { | key, value |
puts("key = #{key} value = #{value}")
}
実行すると以下のようになります。
key = hash value = {:foo=>"bar", :hoge=>"fuga"}
うむ、便利。
さすがに「perl」ではこれは簡単にはできないからな。
|
|