ももちゃん@あるもにこすです.
ずいぶん前から 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>