[#7102] Ruby 1.3.4-990611 — Yukihiro Matsumoto <matz@...>

Ruby 1.3.4-990611 is out, check out:

20 messages 1999/06/11

[#7223] Ruby 1.3.4-990625 — Yukihiro Matsumoto <matz@...>

Ruby 1.3.4-990625 is out, check out:

14 messages 1999/06/25
[#7224] -Wl,-rpath on Linux (Re: Ruby 1.3.4-990625) — Ryo HAYASAKA <hayasaka@...21.u-aizu.ac.jp> 1999/06/25

早坂@会津大学です。

[ruby-dev:7236] default method for a class?

From: "NAKAMURA, Hiroshi" <nakahiro@...>
Date: 1999-06-27 23:11:24 UTC
List: ruby-dev #7236
なひです.devかなぁ...

class Foo
  private; def foo(); end
  protected; def method_missing(a); end
end

aFoo = Foo.new().foo()

こんなの実行すると,しばらくしてcore吐きます.
protectedでなければ大丈夫(ちゃんとエラーになる)なんですけど...
時間ができたら追いかけてみますね.

何がしたかったというと...^^;
VBみたいな「aFoo()」を許可する方法はないかな,
なんて探しているうちに迷いこんだのでした.
それにしても,なんでprotectedやねん > なひ

VBなら(実はVBは文法をほんのり知ってるだけで,ちゃんと
書いたことはありません ^^;)デフォルトプロパティとやらが
あるそうじゃないですか.たとえば型Fooのメソッドindexを
デフォルトに指定しておくと,
「aFoo()」で「aFoo.index()」を呼んでくれるとかいう.

rubyでは,method_missingを使ってうまくいかないかな?
なんて思ったのでした.考えてみりゃ無茶ですね.
「なかった」わけじゃなくて,
メソッド呼び出し形式になってないですし...^^;

あくまでお遊びであって,どうしても「aFoo()」を
実現したいわけじゃありません.VBには[]がないから
上記のような機構があるわけで,rubyでは「aFoo[]」を使えばいいし.

In This Thread

Prev Next