[#5219] ruby for perl users — Noritsugu Nakamura <nnakamur@...>

35 messages 1997/11/09
[#5220] Re: ruby for perl users — tateishi@... (Tateishi Takaaki) 1997/11/09

立石です。

[#5224] Re: ruby for perl users — shugo@... (Shugo Maeda) 1997/11/09

前田です。

[#5243] read from subprocess — Kikutani Makoto <kikutani@...>

きくたにです。

17 messages 1997/11/10
[#5250] Re: read from subprocess — matz@... (Yukihiro Matsumoto) 1997/11/11

まつもと ゆきひろです

[#5300] Win32用の Rubyでの tkの使用 — Tomoaki Takebayashi <tota@...>

はじめまして、竹林といいます。

14 messages 1997/11/15
[#5302] Re: Win32用の Rubyでの tkの使用 — WATANABE Hirofumi <eban@...> 1997/11/15

わたなべです.

[#5303] Re: Win32 用の Rubyでの tkの使用 — Tomoaki Takebayashi <tota@...> 1997/11/15

[#5305] Re: Win32 用の Ruby での tk の使用 — aito@...5sun.yz.yamagata-u.ac.jp 1997/11/17

あ伊藤です.

[#5320] ruby 1.0-971118 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

20 messages 1997/11/18
[#5337] Re: ruby 1.0-971118 released — WATANABE Hirofumi <watanabe@...> 1997/11/19

わたなべです.

[#5340] Re: ruby 1.0-971118 released — matz@... (Yukihiro Matsumoto) 1997/11/19

まつもと ゆきひろです

[#5398] 配列への追加について — a-nisida@... (西田明良)

はじめまして、西田@初心者 と申します。m(..)m

16 messages 1997/11/22

[ruby-list:5232] Re: ruby for perl users

From: matz@... (Yukihiro Matsumoto)
Date: 1997-11-10 03:38:53 UTC
List: ruby-list #5232
まつもと ゆきひろです

In message "[ruby-list:5231] Re: ruby for perl users"
    on 97/11/10, Shin-ichiro HARA <sinara@blade.nagaokaut.ac.jp> writes:

|原です。

|> |◎ ファイルの扱い方は?
|
|> f = open(filename)
|> begin
|>   while line = f.gets
|>     print line
|>   end
|> ensure
|>   f.close
|> end
|> 
|> のように例外処理をすることが多いです。
|
|この例外というのも Perl => ruby な人には、疑問の多いところで、
|ruby はやたらに例外を発生させて不便だと誤解されがちです。

という意見ももっともなので1.1b0からはCommon Lispを参考にした
新しいメソッドを定義しました.名付けて

  IO.with_open_stream(path[,mode])

これはこう使います.

  IO.with_open_stream("file") do |f|
    while line = f.gets
      print line
    end
  end

これでensureでのcloseを気にする心配は無くなります.もっとも
こんなメソッド自分で定義しようと思えば

  def IO.with_open_stream(path, mode="r")
    f = open(path, mode)
    begin
      yield f
    ensure
      f.close
    end
  end

で書けてしまうんですけどね.

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

In This Thread