ループ処理 (2)

2008/07/30

今、任意の個数のメールアドレスがあり、ドメイン別にメールアドレスが何個あるかを調べたい。

メールアドレスの配列 ary を引数として取り、ハッシュオブジェクトを返すメソッド foo を作りなさい。

ただし、そのハッシュオブジェクトは以下の条件を満たすこと。

  • 各キーはメールアドレスのドメイン部分(@より後ろの部分)である。
  • 各値は、そのドメイン部分がキーと合致するメールアドレスの個数である。

例えば、次のようなメールアドレスの集合を考える。

john@sample.com
taro@sample.jp
nancy@sample.com
jiro@sample.jp
hermes@oiax.jp
saburo@sample.jp

これらのメールアドレスを要素として持つ配列を作って foo に渡すと、次のようなハッシュオブジェクトが返ることになる。

{
  'sample.com' => 2,
  'sample.jp' => 3,
  'oiax.jp' => 1
}

なお、ary に含まれるメールアドレスは、途中にアットマーク(@)を1個だけ含む文字列で、ドメイン部分は英小文字、数字、ドット(.)により構成されているものとする。また、ary に重複したメールアドレスは含まれていないものとする。


解答と解説の表示・非表示