[#42243] コミュニティと宗教の分離について — Beyond <beyond@...>

14 messages 2006/05/21

[#42267] メニューのループについて — リックス <rubyer4649@...>

りっくすです

21 messages 2006/05/27

[#42301] Re: メニューのループについて — "conundrum /" <conundrum@...>

conundrumです。

11 messages 2006/05/28

[ruby-list:42255] Re: File objectがいつのまにか nilに、

From: keiichi matsunaga <ma2@...>
Date: 2006-05-23 06:39:39 UTC
List: ruby-list #42255
 松永です。

差出人  :しんさん
タイトル:[ruby-list:42253] File objectがいつのまにか nilに、

|出沢です
|
|ソートされたデータの(先頭カラムの)値に応じた名前のファイルに
|データを振り分けて書き出す。
|
|という仕事をしようとしてますが、うまくいきません。
|
|こんな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 になってしまっています。
|
|なぜでしょう、、、

ofpが宣言したブロックの外側で使われているから.. でしょうかね。
ofpを一番外側で宣言するといいと思います。
ofile=""のすぐあとに ofp=nil とか。

-- ------------------------------------------------
松永肇一(keiichi matsunaga)
株式会社ライフメディア 開発部
RSSでがんばってみよう → http://www.imi.ne.jp/fortune/imi_uranai.html


In This Thread