出沢です
ソートされたデータの(先頭カラムの)値に応じた名前のファイルに
データを振り分けて書き出す。
という仕事をしようとしてますが、うまくいきません。
こんなscriptを通します。
期待は、Jan というファイルに Jan が3行、Feb というファイルに Febが1行
出ることなのですが、1行書いたところでエラーとなります。
$cat files.rb
alist = ["Jan","Jan","Jan","Feb","Mar","Apr","May","Dec"]
ofile=""
alist.each{|file|
if ofile != file
ofile != "" && ofp.close
ofile = file
ofp = open(ofile,"w")
end
ofp.printf "%s\n",file
}
ofp.close
$ruby files.rb
files.rb:6: undefined local variable or method `ofp' for main:Object (NameError)
from files.rb:4:in `each'
from files.rb:4
Jan というファイルに Jan と 1行書かれておわり。
ofp が nil になってしまっています。
なぜでしょう、、、