ruby-reference-manual:1991
From: Nobuhiro IMAI <nov@y...>
Date: Tue, 02 Mar 2010 02:49:52 +0900 (JST)
Subject: [ruby-reference-manual:1991] Re: [Bug #2800] IO.new の第2引数デフォルト
いまいです。 From: Kazuhiro NISHIYAMA <zn_at_mbf.nifty.com> Date: Mon, 01 Mar 2010 10:24:32 +0900 > 西山和広です。 > > At Sun, 28 Feb 2010 00:44:05 +0900, > Kouya wrote: >> >> しかし、今回の場合、処理系によって、 >> デフォルトパラメータが変わってしまうし、はてさてどうしたものか?(@_@) >> >> 気持ち的には、 >> -- IO.new(fd, mode = (fcntl(fd, F_GETFL) || "r")) -> IO >> なんですが、 fcntl はRubyの関数ではないしなぁ。 >> この辺の書き方については、青木さんや、okkezさんが答えてくれるかもしれません。 >> >> 個人的には、 >> > --- IO.new(fd, [mode]) -> IO >> でもいい気がします。 > > [] で書くなら > --- IO.new(fd[, mode]) -> IO > のような気がしますが、 > -- IO.new(fd, mode = "r") -> IO > にしておいて処理系によっては "r" じゃないことがあると > 説明に書いておくのはどうでしょうか? そうですね。メソッドシグネチャだけ見て、デフォルトが "r" だと思い込ん じゃうような人は IO.new は使わないだろう(←根拠はありません)、というこ とで、メソッドシグネチャは触らずに、末尾のパッチのような記述を追加しよ うと思います。いかがでしょうか? -- Nobuhiro IMAI <nov@y...> Key fingerprint = F39E D552 545D 7C64 D690 F644 5A15 746C BD8E 7106 diff --git a/refm/api/src/_builtin/IO b/refm/api/src/_builtin/IO index 61f3dfc..b7aa057 100644 --- a/refm/api/src/_builtin/IO +++ b/refm/api/src/_builtin/IO @@ -279,6 +279,9 @@ IO.new, IO.for_fd @param mode [[m:Kernel.#open]] と同じ形式で IO のモードを指定します。[[m:File::Constants::RDONLY]] などの 定数(数値)でモードを指定できます。詳細は組み込み関数 [[m:Kernel.#open]] を参照 してください。 + mode は省略可能で、省略時のデフォルトのモードは、 + fcntl(F_GETFL)が利用できる環境では第一引数で指定した fd のモードを引き継ぎ、 + 利用できない環境では "r" になります。 #@else @param mode [[m:Kernel.#open]] と同じ形式で IO のモードを指定します(ただし、文字列形式のみ)。 詳細は組み込み関数 [[m:Kernel.#open]] を参照してください。 -- ML: ruby-reference-manual@m... 使い方: http://QuickML.com/
1986 2010-02-27 04:02 [redmine@r... ] [Bug #2800] IO.new の第2引数デフォルト 1987 2010-02-27 15:12 ┗[kouyataifu4@g... ] 1988 2010-02-27 15:57 ┗[nov@y... ] 1989 2010-02-27 16:44 ┗[kouyataifu4@g... ] 1990 2010-03-01 02:24 ┗[zn@m... ] -> 1991 2010-03-01 18:49 ┗[nov@y... ] 1992 2010-03-03 04:37 ┣[redmine@r... ] [Bug #2800](Closed) IO.new の第2引数デフォルト 1993 2010-03-03 04:42 ┗[nov@y... ] 1994 2010-03-03 17:34 ┗[kouyataifu4@g... ] 1995 2010-03-05 14:27 ┗[nov@y... ] 1997 2010-03-06 02:28 ┗[kouyataifu4@g... ] 1998 2010-03-06 05:52 ┗[nov@y... ]