1番をs4「#08 提出課題」掲示板に提出せよ。2番以降を解いた場合は emailで提出すること。
2番以降の宛先:
ruby-1-08@e.koeki-u.ac.jp
(必須:s4提出)課題7a
で作成した mydata.csv
を用意し、そこに含まれる特
定のフィールドから特定のパターンにマッチするレコードのみを出力
するプログラム mydata-search.rb
を作成せよ。
おおむね正規表現の練習問題
の1番の saito-katakana.rb
のような形になるはずである。
実行例を以下に示す。以下の例は
meibo.csv
の「居住地」フィールドの値で検索できるように作成したものである。
./meibo-addr.rb meibo.csv 居住地で探します。検索パターン: 酒田 ナカマチ タロウ,NAKAMACHI Taro,中町太郎,酒田 ./meibo-addr.rb meibo.csv 居住地で探します。検索パターン: [ぁ-ん] サイトウ テツヤ,SAITOH Tetsuya,斎藤徹夜,白夜の国
(選択:email提出)
自作した mydata.csv
に数値項目がない場合は追加せよ。
その上で、数値による絞り込み検索ができるプログラム
mydata-N.rb
を以下の仕様により作成せよ。
./mydata-N.rb mydata.csv 下限値 上限値
と2つの数値を第2第3引数(つまり
ARGV[0], ARGV[2]
)に指定すると
その数値項目の値が指定した範囲内にある場合のみ
そのレコードを出力する
./mydata-N.rb mydata.csv 下限値
のように 上限値 指定を省略した場合は、その数値項目が 下限値 以上のものすべてを出力する。
たとえば解説で用いたmeibo.csv
に「身長」フィールドを追加して meibo2.csv
を作成したとする。このCSVファイルに対して実行してみた例を
以下に示す。
./mydata-N.rb meibo2.csv 170 180 さとう胸幸さんの身長は173.0cmです. 中町太郎さんの身長は170.0cmです. 浪花之太朗さんの身長は172.1cmです. ./mydata-N.rb meibo2.csv 170 さとう胸幸さんの身長は173.0cmです. 中町太郎さんの身長は170.0cmです. 浪花之太朗さんの身長は172.1cmです. 悲見四太郎さんの身長は190.1cmです.
課題7b が参考となる。 作りかけの不完全なもの
(選択:email提出)
自作した mydata.csv
の任意の項目で検索できるような
プログラム field-search.rb
を作成せよ。
meibo.csv
に対して実行すると以下のようになることを想定している。
./field-search.rb meibo.csv 0: ナマエ 1: Name 2: 氏名 3: 居住地 何番のフィールドで検索しますか(番号で入力): 0 「ナマエ」フィールドで検索します。 検索バターンは: (.)\1 イイモリ ハナコ,IIMORI Hanako,飯森花子,飯森山 ゲゲノ キタロウ,GEGENO Kitarou,下々野喜太郎,魔界村 ./field-search.rb meibo.csv 0: ナマエ 1: Name 2: 氏名 3: 居住地 何番のフィールドで検索しますか(番号で入力): 3 「居住地」フィールドで検索します。 検索バターンは: 酒田 ナカマチ タロウ,NAKAMACHI Taro,中町太郎,酒田
Subjectを
#08 正規表現 (解いた問題番号)
とし、本文の先頭に
氏名: | 公益太郎 |
学籍番号: | c123xxx |
クラス: | XX |
を入れて、上記宛先に送ること。その後のレポート本体は
の順で書くこと。参考文献は具体的な場所が特定できるよう 厳密かつ正確に記すこと。