Ruby Hash


  #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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM