後藤@横河工事です。以前、ここでお世話になったおかげで、なんとか
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