配列内の同じ要素それぞれの個数を数える。
cf. 要素の個数を数える – 惰力飛行
Ruby でやってみる。Array#group_by が使えそう。
irb(main):001:0> lang = %w(perl python ruby perl python python ruby python ruby lisp) => ["perl", "python", "ruby", "perl", "python", "python", "ruby", "python", "ruby", "lisp"] irb(main):002:0> lang.group_by{|x| x}.map{|k, v| [k, v.size]}.to_h => {"perl"=>2, "python"=>4, "ruby"=>3, "lisp"=>1}
いったん [[要素, 個数]] という配列の配列を作って、Array#to_h でハッシュにしている。うまく1行で書けた。