まつもと ゆきひろです
In message "[ruby-list:6679] Re: call for scripts"
on 98/02/24, Tadayoshi Funaba <tadf / kt.rim.or.jp> writes:
|> output = File.open('README', 'w')
|> begin
|> ...
|> ensure
|> output.close
|> end
|>
|>で必ずcloseするようにした方がよいという意味だと思います。
|
|この場合の open の例外は別枠で考えたほうがいいんでしょうか?
はい.openで例外が起きるとoutputにまだ値が設定されていないの
で,output.closeがエラーになります.もちろん,
output.close if output
なんてのでも構わないですけど.
|> open('README', 'w') { |output|
|> ...
|> }
|>
|>のようにopenをイテレータとして呼び出すとclose処理を行ってくれます。
|
|これって便利じゃないですか。マニュアルに載ってましたっけ? 僕の読みかた
|がよくないのかな。勉強になりました。
ええと,すくなくとも新しいのには載せたように思うんですが.
# マニュアル新しくしました.鄭さんの指摘はまだ反映してませんが
まつもと ゆきひろ /:|)