2.10 ruby - 基本的な文法 - 本当にすべてオブジェクト

 
2.10.1 本当にすべてオブジェクト
2.10.2 ハッシュの値にハッシュを設定

2.10.1 本当にすべてオブジェクト

 前の方で、スカラ変数的なという言葉を使っていますが、ruby では、変数はすべてオブジェクトということで、変数スコープはあっても型はないのだ。  つまり、下記のソースを書いて

#!/usr/bin/env ruby

value = 1
puts("#{value}")

value = Array[ 1, 2 ]
puts("#{value}")

value = Hash[ :foo => 1, :bar => 2 ]
puts("#{value}")
 実行すると以下のようになります。

> ./ソースファイル名.rb
1
[1, 2]
{:foo=>1, :bar=>2}

2.10.2 ハッシュの値にハッシュを設定

 ハッシュの値にハッシュを設定することもできます。  下記のソースを書いて

#!/usr/bin/env ruby

hash = { :foo => 'bar', :hoge => 'fuga' }
hash2 = { :hash => hash }

hash2.each { | key, value |
    puts("key = #{key}  value = #{value}")
}
 実行すると以下のようになります。

> ./ソースファイル名.rb
key = hash  value = {:foo=>"bar", :hoge=>"fuga"}
 うむ、便利。  さすがに perl ではこれは簡単にはできないからな。