2005年9月8日木曜日

「ファイルを読み込んで書き換えても変化しません」

ルビーのマニュアルに載ってる例文
io = open("C:\\example.txt", "r+")
ary = io.readlines
ary.each_with_index{|l, i| l[0,0] = (i+1).to_s + ": "}
io.rewind
io.print ary
io.close

これがいきなり読めない....頭がさびついてるなぁ、each_with_indexで列データを一個 l という変数に入れて、順番の数を i という変数に入れるらしい l[0,0] で l という文字列の先頭のポジションということ、そこにi+1を文字列に変えて(to_s)流し込む、これで
AAA
BBB
CCC
というテキストは
1: AAA
2: BBB
3: CCC
に書き換えられる

0 件のコメント:

コメントを投稿