後藤@横河工事です。以前、ここでお世話になったおかげで、なんとか rubyを利用してデータファイルの変換などができるようになりました。 そうすると、今度はもう少しrubyらしい書き方をしてみたくなったのですが、 手掛かりがありません。(サンプルコードも私には複雑すぎて) 以下のコードをrubyらしく書くとしたらどのようになるのでしょうか。 よろしくお願いします。 #!/usr/local/bin/ruby # # タブをn個の空白に置き換える # 1999.05.26 by N.Goto # # コマンドライン引数の解析を行う。 column=[] column = ARGV.dup in_file = column[0] # ファイル名 num = column[1] # 空白の数 # 出力ファイル名を入力ファイル名+.outとする。 out_file = in_file + ".out" print in_file,"--->",out_file,"\n" # 入力、出力ファイルをオープンする。 fin = open(in_file,"r") fout = open(out_file,"w") # 置き換え用の空白文字列 space=" " * num.to_i # 入力ファイルから1行づつ読み込み、置換して書き込む。 while fin.gets sub(/\r\n/,"\n") # タブを空白に置換する gsub(/\t/,space) printf(fout,"%s",$_) end # ファイルをクローズする。 fout.close fin.close