構造体の美学2
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
ヒューマンリソシア株式会社はコラム「構造体の美学2」を公開しました。
では、構造体を利用したプログラムを作ってみましょう。以前、作成した電話帳プログラムのデータ構造をハッシュを利用したものから構造体を利用したものに変えてみました。
1 # -*- coding:utf-8 -*-
2
3 Address = Struct.new(:name, :phone)
4 addresses=[
5 Address.new(“Yoshitake SHIMO”, [“03-1234-5678″, “080-1234-5743″]),
6 Address.new(“Takayuki NISHIO”, [“03-6345-4578″]),
7 Address.new(“Masataka AIKAWA”, [“03-3412-5908″, “070-6789-0987″]),
8 ]
9
10 puts “検索(:name)”
11 key=”shimo”
12 puts addresses.select {|addr| addr[:name] =~ /#{key}/i}
13 puts “検索(:phone)”
14 key=”^0[8,7]0″
15 puts addresses.select {|addr| addr[:phone].find {|phone| phone =~ /#{key}/}}
16 puts “ソート(First Name)”
17 puts addresses.sort {|a,b| a[:name].split(/\s/)[1] <=> b[:name].split(/\s/)[1]}
この続きは以下をご覧ください
http://resocia.jp/column/353/
ソーシャルもやってます!