From: nobu.nakada@... Date: 2000-06-01T14:45:08+09:00 Subject: [ruby-dev:9946] Re: return value from open with block なかだです。 At Thu, 1 Jun 2000 13:33:27 +0900, matz@netlab.co.jp (Yukihiro Matsumoto) wrote: > |> もうクローズしてるから。まずかった? > | > | いや open した File はたしかにクローズしてるからいらないんですが。こ > |ういう使い方してるのは私だけ? > | > | content = open(file) {|f| f.read} # ファイルの中身を一気に読む > | > | 単に open(file).read としてクローズは finalizer まかせなのかなあ。 content = nil > open(file){|f| content = f.read} > > ってやるとcontentがブロック内で消えちゃう可能性がありますも と逃げてますが。 > のね。でも、openがなにを返すかがブロックの値で不定になるのは > イヤだったのでこのようにしちゃいました。 不定というか、open のブロックはコンテクストを保存/復帰させるための もので、ブロックの値が返って来るのをむしろ当然のように思ってたんですが。 例えてみれば elisp の「with-なんとか」とか「save-なんとか」みたいな。 -- そうだ 強気に ちょっと インチキに☆彡 中田 "Bugるくらいがちょうどいいかも;-)" 伸悦