Ruby  hash(ハッシュ)でバリューの最大値(max)、特定のバリューを抜き出す(select)、特定のバリューの数(count)

Ruby  hash(ハッシュ)でバリューの最大値(max)、特定のバリューを抜き出す(select)、特定のバリューの数(count)

要素が数値のハッシュで、要素の値の最大値を求めるにはmax関数を使う

irb(main):003:0> a={a: 3,b: 2,c: 5}
=> {:a=>3, :b=>2, :c=>5}
irb(main):004:0> a.max{ |a, b| a[1] <=> b[1] }
=> [:c, 5]

ハッシュから特定の要素を抜き出すにはselect関数を使う
要素が2のものを抜き出している。

irb(main):005:0> a={a: 3,b: 2,c: 5}
=> {:a=>3, :b=>2, :c=>5}
irb(main):006:0> a.select{|a,b| b==2}
=> {:b=>2}
irb(main):007:0>

ハッシュの要素の中で、とある値と同じ要素が何個あるか数える場合、count関数を使う
ハッシュの中から要素が5の数を数えている。

irb(main):009:0> a={a: 3,b: 2,c: 5,d: 1,e: 5}
=> {:a=>3, :b=>2, :c=>5, :d=>1, :e=>5}
irb(main):010:0> a.count{|a,b| b==5}
=> 2
irb(main):011:0>

未分類カテゴリの最新記事