#hash new_hash1={} new_hash1[:key_a]='contents1' new_hash1[:key_b]='contents2' puts new_hash1[:key_a] puts new_hash1 new_hash2={:key_a=>'contents1',:key_b=>'contents2'} puts new_hash2[:key_b] my_hash={} #my_hash[:key_a]=123456 my_hash["key_a"]=123456 #puts my_hash[:key_a] puts my_hash["key_a"] person={"name"=>"lxee","age"=>25,"sex"=>"男"} #創建Hash對象 puts person.size.to_s #輸出Hash對象元素個數 p person.keys() #輸出所有key p person.values() #輸出所有value person=Hash.new #創建Hash類實例 puts person.size.to_s person["name"] = "zhht" person["age"]=23 person["sex"]="男" puts person.size.to_s person={:name=>"lxee",:age=>25,:sex=>"男"} p person.keys p person.values puts person.include?(:sex) #判斷是否包含key為:sex的元素 puts person.include?("sex") #判斷是否包含key為”sex"的元素 person.delete(:sex) #刪除key為:sex的元素 puts person.has_key?(:sex) #判斷是否包含key為:sex的元素 puts person.length.to_s #輸出Hash對象長度 person={"name"=>"lxee","age"=>25,"sex"=>"男"} #創建Hash對象 person.each do |key,value| #each迭代器迭代輸出Hash對象里全部元素 puts key.to_s+" : "+value.to_s end person.each_pair do |key,value| #each_pair迭代器迭代輸出Hash對象里所有key-value對 puts key.to_s+" : "+value.to_s end person.each_key do |key| #each_key迭代器迭代輸出Hash對象里所有key puts key.to_s end person.each_value do |value| #each_value迭代器迭代輸出Hash對象里所有value puts value.to_s end h = Hash.[](:a,'a',:b,'b') p h h = Hash.[](:a=>'a',:b=>'b') p h h = Hash[:a,'a',:b,'b'] p h h = Hash[:a=>'a',:b=>'b'] p h h={:a,'a',:b,'b'} p h h={:a=>'a',:b=>'b'} p h h = Hash.new h[:a]='a' h[:b]='b' p h h1=Hash['a'=>1,'b'=>2] puts h1['a'] h1.each do |key,value| puts "#{key} => #{value}" end h1.each_key do |key| puts key puts h1[key] end p h1.merge({:c=>3,:d=>4}) #添加hash鍵值對 p h1.has_key?('a') p h1.has_key?(:c) h={:a=>1,:b=>2} h.delete(:a) #刪除鍵為:a的鍵值對 p h p h.delete_if{|key,value| key==:b} h={:a=>1,:b=>2} p h.invert #鍵值對的鍵和值互換 h.replace("c"=>3,"d"=>4) #將Hash替換成括號中的Hash p h p h.to_a p h.to_s h={:a=>1,:b=>2} p h.keys p h.values