データの分解

データの分解は、 / / で挟んだパターンが入っているかどうか調べることによって行われる。

# if /パターン/ =~ 変数     # 変数がパターンに一致するならば

=~ は指定された正規表現が一致するかどうかを調べるときに使う。 正規表現とは、文字列の一致を調べる方法である。 これには以下の正規表現が使われている。

# \S+    # 文字列の連続
# \s+    # 空白文字の連続
# ()     # () 内に含まれる文字列を優先して探す

正規表現は次週にも続く。 さて、文字列が空白文字を挟んで 3 回現れるため、

if /(\S+)\s+(\S+)\s+(\S+)/ =~ 変数

となっている。() で優先された文字列は $1, $2, ..と順番に名前をつけられ、それらが配列の各成分として代入されている。

/(優先された文字列 1)優先されない文字列(優先された文字列 2)優先されない文字列 ... / =~ 変数

# $1 は 優先された文字列 1 を引き取る
# $2 は 優先された文字列 2 を引き取る
   :

データが 4 列ずつ並んでいる場合は、 どのように分解する部分を書き換えたらよいだろうか。

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

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