RubyのHashで要素数を取得するヘ(^o^)ノ

Hashで要素の数を取得してみる

Hash#lengthとHash#size

favorites_language = {
  bob: 'Ruby',
  jone: 'Ruby',
  tiger: 'Perl'
}
favorites_language.length #=> 3
favorites_language.size   #=> 3

Enumerable#count

favorites_language = {
  bob: 'Ruby',
  jone: 'Ruby',
  tiger: 'Perl'
}
favorites_language.count #=> 3

では、Valueが'Ruby'である要素の数を取得してみる

Hash#lengthとHash#size

favorites_language = {
  bob: 'Ruby',
  jone: 'Ruby',
  tiger: 'Perl'
}
favorites_language.select{|k, v| v == 'Ruby'}.size #=> 2

Enumerable#count{|obj| ...}

favorites_language = {
  bob: 'Ruby',
  jone: 'Ruby',
  tiger: 'Perl'
}
favorites_language.count{|key, v| v == 'Ruby'} #=> 2

そう!countにはブロックを渡せるのだー(今までマジで知らんかった...

もう少しおしゃれにしてみよう

Enumerable#count(item)

favorites_language = {
  bob: 'Ruby',
  jone: 'Ruby',
  tiger: 'Perl'
}
favorites_language.values.count('Ruby') #=> 2

まだまだ知らんこといっぱいですわー

がんばろっと

Happy Hacking٩( ‘ω’ )و