|
並べ替え 次にカンマ区切りのデータを並べ替えてみましょう。行頭から4番目の身長データを使って背が低い順に並べてみます。今回は並べ替えのためにsortメソッドを使いました(リスト4)。 リスト4には「加工するための対象となるデータ」と「データを加工するメソッド」があります。これらを「第2回:Rubyを動かそう!」で解説したようにクラスを使ってひとまとめにして、管理しやすくしてみましょう(リスト5)。 これでデータがクラスの中に整理され、操作の難しいところも隠蔽されました。処理の流れがわかりやすくなったのではないでしょうか。 実習2 背の高い順やemailのアルファベット順などいろいろソート条件を変えてみましょう。sortの他に名前だけを抽出するメソッドなども追加してみましょう。 リスト4:csv_sort.rb
CSV_DATA = <<EOS
リスト5:クラス化したcsv_sort.rb
class Address
リスト6:csv_sort_file.rb
class Address
ファイル処理 カンマ区切りのデータをクラスの中に定義しましたが、これではデータだけ更新したいときに不便です。そこでデータは外部ファイルにしてRubyスクリプトと独立させてみましょう。 Rubyでファイルを扱うにはopenを使います。openもブロックを使って内容を読み取ります。データファイルaddress.csvという名前でスクリプトと同じフォルダに保存しました(リスト6)。 リスト5と比べてみてください。クラスにしたおかげでAddressクラスを利用する側を変更することなくクラスの中身の書き換えでファイル処理に対応できました。このようにクラスは、インターフェースを変更させずにプログラムの動作を変えやすくしてくれるのです。 実習3 データのファイル名を簡単に変更したり、いろんなファイルを入力できるようにファイル名をパラメータ化してみましょう。また、sortに引数を渡して何番目の要素を使って並べ替えるのかを指定できるようにしてみましょう。 Ruby入門のまとめ オブジェクト指向言語のRubyを生かせるようにオブジェクト指向のエッセンスを取り混ぜながらRubyを紹介してきました。しかし、Rubyは懐の深い言語です。手続き型のようにも、関数型のようにも記述することができます。 この特徴を利用して本連載では処理を順番に並べる手続き型のプログラムを例示した後に、クラスを使ったオブジェクト指向プログラミングについて解説するよう努めてきました。処理の流れとクラスによるオブジェクトの振る舞いについて、対比することで理解の助けになれば幸いです。 Rubyには他にも継承やモジュールを使った処理の共通化やユニットテスト、分散オブジェクトなどが用意されおり、標準添付のクラスライブラリだけでもさまざまなことができます。ぜひ興味のある分野に取り組んでみてください。 Ruby on Railsの隆盛によって常に注目を集めているRubyですが、今だからこそプログラミング言語Rubyそのものを学んで基礎固めしておきたいですね! |
||||||||||
|
前のページ 1 2 3 |
||||||||||
|
|
||||||||||
|
|
||||||||||
|
||||||||||
|
|
||||||||||
|
||||||||||
|
|
||||||||||
|
||||||||||

