zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    SSLOJ 1298.网站计划
    SSLOJ 1297.GF打Dota
    SSLOJ 1296.猫咪的进化
    脚本1)启动jetty的脚本
    mysql的常用命令
    mysql异常com.mysql.jdbc.PacketTooBigException
    debian apt-get联网安装mysql服务
    mysql 解决Warning: World-writable config file ‘/etc/my.cnf’ is ignored
    ubuntu/debian/linux彻底卸载mysql
    Ubuntu12.04_X64 apt-get install 报错404
  • 原文地址:https://www.cnblogs.com/mingforyou/p/2635771.html
Copyright © 2011-2022 走看看