Hash

Hash #

Ruby 支持任何数据类型作为键,也支持 Symbol 作为键

创建Hash #

peter = {:name => 'Peter', :age => 18, 'height' => 180, 'nickname' => 'Pen'}
jack = [:name, 'Jack', :age, 20, :height, 178]
jane = {name: 'Jane', age: 16, height: 160}

空 Hash

empty = {}
hash = Hash.new

使用Hash #

访问元素

puts peter[:name]
puts peter['height']

修改元素

peter[:sex] = 'male'
peter['no'] = 10

删除元素

peter.delete(:age)

获得长度

puts peter.length

遍历 Hash

peter.each { |k, v| puts "#{k} = #{v}" }
peter.each_key{|k| print k}

判断键值对的存在

puts peter.include? :name

Hash 默认值 #

Hash 可以在创建时指定默认值,如果键不存在的话可以直接返回默认值

hash = Hash.new('foo')
puts hash['abc']

常用操作 #

获取键值

keys = months.keys

排序

frequencies = frequencies.sort_by do |key,value|
    value
end
frequencies.reverse!

Select

good_movies = movie_ratings.select{ |k,v| v > 3}
沪ICP备17055033号-2