[前][次][番号順一覧][スレッド一覧][生データ]

yarv-dev:453

From: shudo computer.org
Date: Sun, 6 Mar 2005 22:41:28 +0900
Subject: [yarv-dev:453] Re: Ruby.NET Compiler

淺川さん、皆様、首藤です。

> Ruby との違いについて、.NET クラスライブラリとの連携について、
> パフォーマンスについて加筆しました。
> http://www.asakawa.net/ruby/rubynet_memo.html

楽しく読ませて頂いてます。


以下、書いていたら自己解決してしまったので、お暇な方だけ読んで下さい。


■組み込み関数とトップレベルのメソッド
の内容を読んで、疑問が湧きました。
誤解していたら、すみません。

この章に現れる各クラスの継承関係はこうなっていて、

  Test -> Object -> RubyLibrary.Object

  Array -> RubyLibrary.Array -> RubyLibrary.Object

組み込み関数が再定義された場合には、
Object や Array クラスで、RubyLibrary.◯◯での定義を override する、
と理解してます。

で、このままだと、
Object#puts が (RubyLibrary.Object#puts を override して) 定義された場合、
Test クラスからはその puts が呼び出されるけれど、
Array クラスからは既定の RubyLibrary.Object#puts が呼び出されてしまう。
だから、Object#puts の定義を Array#puts としてもコピーしておく。
それによって、Array からも Object#puts と同じ内容が呼び出される。
と理解しました。

継承関係を、下記のようにすれば済む話ではないのでしょうか。

  Array -> RubyLibrary.Array -> Object -> RubyLibrary.Object

…と書いていたのですが、
Object クラスは Ruby.NET コンパイラが各 Ruby プログラムに対して
生成するので、RubyLibrary.Array が Object を継承しておくことは
できないのですね。

むぅ。


Kazuyuki Shudo/首藤一幸   私をたばねないで あらせいとうの花のように
  shudo computer.org   http://www.shudo.net/

--
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧][生データ]

       427 2005-02-23 15:12 [ko1 atdot.net       ] Ruby.NET Compiler                       
       428 2005-02-24 00:41 ┗[ko1 atdot.net       ]                                       
       429 2005-02-26 16:35  ┗[ml asakawa.net      ]                                     
       430 2005-02-27 16:13   ┗[ml asakawa.net      ]                                   
       431 2005-02-28 23:43    ┗[ml asakawa.net      ]                                 
       436 2005-03-05 19:36     ┣[ko1 atdot.net       ]                               
       438 2005-03-05 21:18     ┃┣[ml asakawa.net      ]                             
       440 2005-03-06 01:03     ┃┃┣[ko1 atdot.net       ]                           
       444 2005-03-06 14:23     ┃┃┃┗[ml asakawa.net      ]                         
       445 2005-03-06 16:45     ┃┃┃ ┣[ko1 atdot.net       ]                       
       452 2005-03-06 22:26     ┃┃┃ ┗[shudo computer.org  ]                       
       454 2005-03-06 23:28     ┃┃┃  ┗[ko1 atdot.net       ]                     
       447 2005-03-06 17:33     ┃┃┗[zn mbf.nifty.com    ]                           
       439 2005-03-06 00:27     ┃┗[matz ruby-lang.org  ]                             
       441 2005-03-06 01:11     ┃ ┗[ko1 atdot.net       ]                           
->     453 2005-03-06 22:41     ┗[shudo computer.org  ]