今週の課題の講評

データの添付がないために採点されないレポートが多かった。 データファイルがないとプログラムの動作が確認できないので、 採点できない。

あるデータ列の文字列を探したいが、 その文字列が他のデータ列にも含まれているような場合の切り出し方が、 理解できていないようである。

 :
あつみ温泉      山形県  あつみおんせん          Atsumionsen
鶴岡            山形県  つるおか                Tsuruoka
余目            山形県  あまるめ                Amarume
酒田            山形県  さかた                  Sakata
遊佐            山形県  ゆざ                    Yuza
象潟            秋田県  きさかた                Kisakata
仁賀保          秋田県  にかほ                  Nikaho
羽後本荘        秋田県  うごほんじょう          Ugohonjo
秋田            秋田県  あきた                  Akita
 :

などで、あつみ温泉だけを切り取りたい場合、/(あ)/ では

irsv{madoka}% ./regexp.rb station.dat              [~/public_html/2007/r1/0530]
検索パターン : あ
赤湯            山形県  あかゆ                  Akayu
あつみ温泉      山形県  あつみおんせん          Atsumionsen
余目            山形県  あまるめ                Amarume
秋田            秋田県  あきた                  Akita
余目            山形県  あまるめ                Amarume
北余目          山形県  きたあまるめ            Kitaamarume

の全てが取り出されてしまう。講義では、文頭に駅名があることを利用して

irsv{madoka}% ./regexp.rb station.dat              [~/public_html/2007/r1/0530]
検索パターン : ^あ
あつみ温泉      山形県  あつみおんせん          Atsumionsen

としたが、データの途中の文字で探したい場合は

irsv{madoka}% ./regexp.rb station.dat              [~/public_html/2007/r1/0530]
検索パターン : (あ\S+)\s+(\S+)\s+(\S+)\s+(\S+)
あつみ温泉      山形県  あつみおんせん          Atsumionsen

などと、データのブロックを明示して、 そのデータブロックでの検索をかけるようにするとよい。 // を使ったものも同様。

chomp method を忘れて、 データが取り出せていないレポートも見られた。 一行ずつ解説しているとそのようなミスが防げる。

0x は ゼロエックスと綴る。ox でも Ox でもないことを確認せよ。 0d, 0b も同様。

本日の講義目次 / 基礎プログラミング I / 2007 年度

Madoka Nishimura <madoka@e.koeki-u.ac.jp>