ももちゃん@あるもにこすです.

ずいぶん前から ML にはいたんですが,ようやく最近プログラムを
はじめました (^^;).時々質問すると思うので,今後もよろしくお
願いします (_ _).

早速質問なんですが,次のようなものをエレガントに処理したいん
ですが,どう書くのが一番美しく書けるのでしょうか? 私は if
文を並べる方法しか思い付きませんでした...

lines = [
  "field-a: hoge a1\n",
  "field-b: hoge b\n",
  "field-c: hoge c\n",
  "field-d: hoge d\n",
  "field-e: hoge e\n",
  "field-a: hoge a2\n ge\n",
  "field-a: hoge a3\n gege\n",
  "field-a: hoge a4\n gegege\n",
]

# field-a, field-b は全部取り出す.
# (元の文字列の状態を保存する)
# field-d は取り出した後に加工したい.

target = []
lines.each {
  |l|
  if (l =~ /^field-a: /)
    target << l
  elsif (l =~ /^field-b: /)
    target << l
  elsif (l =~ /^field-d: /)
    line = l.clone
    # なんか書換える
    target << line
  end
}


やっぱこのくらいしかないのかなぁ...
-- 
Yasunari Momoi <conan / Armonicos.co.jp>, Armonicos Corp.
WIDE: <conan / wide.ad.jp>, JLUG: <conan / linux.or.jp>