[前][次][番号順一覧][スレッド一覧]

ruby-reference-manual:412

From: Minero Aoki <aamine@l...>
Date: Sun, 13 May 2007 02:10:21 +0900
Subject: [ruby-reference-manual:412] Re: methods like C lang (was: links to module functions)

青木です。

On 2007/05/09, at 22:37, sheepman wrote:

> こんばんは、sheepman です。
>
> open-uri で定義された Kernel#open と 元々の  
> Kernel#open が別々のページに
> 表示されるようになっています。

> 「関数風メソッドのリファレンスでの書き方」も変わったということ 
> でしょうか?

これはわたしのほうでも混乱してたんですが、実は単に関数風メソッドと
呼んでいるメソッドでも二種類あるんです。

   * Kernel#METHOD_NAME だけが定義されているもの
   * Kernel#METHOD_NAME と Kernel.METHOD_NAME が
     両方定義されているもの

例えば Kernel#y は定義されていますが Kernel.y は定義 
されていません。
それに対し open-uri は Kernel#open と  
Kernel.open を両方再定義しています。

後者の、#open と .open が両方定義されているものは、 
関数風メソッド
ではなく、単に Kernel のモジュール関数と考えるべきだと思い 
ます。
なぜなら、そうでないと Kernel.open で検索したときにヒット 
せず、
不便だからです。

したがって、Kernel のメソッドを再定義・追加している場合は、
Kernel.METHOD_NAME が定義されているならモジュール関数として
登録してください。

--
青木峰郎

--
ML: ruby-reference-manual@m...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

       398 2007-04-21 11:54 [sheepman@s...       ] BitClust bugs and requests              
       399 2007-04-22 08:16 ┗[aamine@l...         ]                                       
       400 2007-04-22 08:38  ┗[sheepman@s...       ] links to module functions           
       409 2007-05-06 13:47   ┗[aamine@l...         ]                                   
       411 2007-05-09 15:37    ┗[sheepman@s...       ] methods like C lang (was: links to module functions)
->     412 2007-05-12 19:10     ┗[aamine@l...         ]