[#5498] postscript — Kikutani Makoto <kikutani@...>

TkCanvasの

23 messages 1997/12/02
[#5499] Re: postscript — matz@... (Yukihiro Matsumoto) 1997/12/02

まつもと ゆきひろです

[#5502] Re: postscript — Kikutani Makoto <kikutani@...> 1997/12/02

きくたにです。

[#5535] wave viewer (Re: postscript) — Kikutani Makoto <kikutani@...> 1997/12/05

きくたにです。

[#5536] Re: wave viewer (Re: postscript) — Kikutani Makoto <kikutani@...> 1997/12/05

きくたにです。

[#5538] Re: wave viewer (Re: postscript) — matz@... (Yukihiro Matsumoto) 1997/12/05

まつもと ゆきひろです

[#5547] Re: wave viewer (Re: postscript) — Kikutani Makoto <kikutani@...> 1997/12/06

きくたにです。

[#5504] cgi-lib.rb — 青山 和光 <PXN11625@...>

cgi-lib.rb, shellwords.rb の新版です。

22 messages 1997/12/02
[#5505] Re: cgi-lib.rb — matz@... (Yukihiro Matsumoto) 1997/12/03

まつもと ゆきひろです

[#5506] Re: cgi-lib.rb — keiju@... (石塚圭樹 ) 1997/12/03

けいじゅ@日本ラショナルソフトウェアです.

[#5508] Re: cgi-lib.rb — matz@... (Yukihiro Matsumoto) 1997/12/03

まつもと ゆきひろです

[#5512] Re: cgi-lib.rb — Shin-ichiro HARA <sinara@...> 1997/12/03

原です。

[#5539] ruby 1.0-971204 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

25 messages 1997/12/05
[#5542] Re: ruby 1.0-971204 released — Noritsugu Nakamura <nnakamur@...> 1997/12/05

[#5572] Re: ruby 1.0-971204 released — Shoichi OZAWA <ozawa@...> 1997/12/08

こんにちは 小澤@日立 です。

[#5615] bug in String#scan ?? — Yuji Shigehiro <sigehiro@...>

しげひろです.

17 messages 1997/12/10
[#5616] Re: bug in String#scan ?? — matz@... (Yukihiro Matsumoto) 1997/12/10

まつもと ゆきひろです

[#5668] Re: ObjectDBM — 青山 和光 <PXN11625@...>

石塚さん(B... さんですよね?)、おはようございます。

14 messages 1997/12/13

[ruby-list:5569] Re: [Summary 02/02] Re: ruby for perl users

From: matz@... (Yukihiro Matsumoto)
Date: 1997-12-08 02:08:38 UTC
List: ruby-list #5569
まつもと ゆきひろです

In message "[ruby-list:5560] Re: [Summary 02/02] Re: ruby for perl users"
    on 97/12/07, Noritsugu Nakamura <nnakamur@mxq.meshnet.or.jp> writes:

|begin
|  f = open(filename)
|  while line = f.gets
|    print line
|  end
|ensure
|  f.close
|end
|
|こうすると、ファイルがない場合、
|./hoge.rb:87: undefined method `close' for nil (NameError)
|と言われてしまうのですが、こういうものでしょうか?

このbegin..ensure..endはopenされたファイルのcloseしわすれを
防ぐ,という目的ですから,もとの通り

  f = open(filename)
  begin
    while line = f.gets
      print line
    end
  ensure
    f.close
  end

が正しいと思います.ちなみに1.1bからは

  open(filename) do |f|
    while line = f.gets
      print line
    end
  end

で代用できます.

が,openにともなう例外処理(rescue)を行う場合には

  begin
    f = open(filename)
    while line = f.gets
      print line
    end
  rescue
    ... # 適当なエラー処理
  ensure
    f.close if f
  end

というやりかたになるでしょう,多分.

                                まつもと ゆきひろ /:|)

In This Thread

Prev Next