[#1185] ruby on Macintosh — 藤本尚邦 / FUJIMOTO Hisakuni <hisa@...>
みなさまはじめまして。藤本と申します。1ヵ月くらい前にDBMのことで
6 messages
1998/01/02
[#1193] SHA module — Eiji-usagi-MATSUmoto <ematsu@...>
うさぎです
5 messages
1998/01/05
[#1194] html check — masaki.suketa@...
助田です。
5 messages
1998/01/05
[#1215] var arg method — Kikutani Makoto <kikutani@...>
きくたにです。
10 messages
1998/01/06
[#1216] Re: var arg method
— matz@... (Yukihiro Matsumoto)
1998/01/06
まつもと ゆきひろです
[#1218] Re: var arg method
— Kikutani Makoto <kikutani@...>
1998/01/06
きくたにです。説明不足ですみません。
[#1235] RE: ruby on Macintosh — 青山 和光 <PXN11625@...>
In-Reply-To: [ruby-dev:1185] ruby on Macintosh
8 messages
1998/01/07
[#1249] Ruby/Gtk — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
5 messages
1998/01/08
[#1273] install *.rb to lib/ — Kikutani Makoto <kikutani@...>
rubyのmake installのとき、tcltklibのように、*.so 以外に *.rb を
7 messages
1998/01/11
[#1283] slanglib — Kikutani Makoto <kikutani@...>
きくたにです。
13 messages
1998/01/13
[#1285] Re: slanglib
— WATANABE Hirofumi <watanabe@...>
1998/01/14
わたなべです.
[#1303] tk update — Kikutani Makoto <kikutani@...>
Tkでupdateコマンドを使う必要が生じたのですが、できないようですね。
6 messages
1998/01/21
[#1320] [MethodIndex] Bug and question — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
32 messages
1998/01/23
[#1321] Re: [MethodIndex] Bug and question
— matz@... (Yukihiro Matsumoto)
1998/01/23
まつもと ゆきひろです
[#1323] Re: [MethodIndex] Bug and question
— keiju@... (Keiju ISHITSUKA)
1998/01/23
けいじゅ@日本ラショナルソフトウェアです.
[#1332] Re: [MethodIndex] Bug and question
— keiju@... (Keiju ISHITSUKA)
1998/01/27
けいじゅ@日本ラショナルソフトウェアです.
[#1333] Re: [MethodIndex] Bug and question
— matz@... (Yukihiro Matsumoto)
1998/01/27
まつもと ゆきひろです
[#1334] Re: [MethodIndex] Bug and question
— keiju@... (石塚圭樹 )
1998/01/27
けいじゅ@日本ラショナルソフトウェアです.
[#1351] Re: [MethodIndex] Bug and question
— keiju@... (石塚圭樹 )
1998/01/29
けいじゅ@日本ラショナルソフトウェアです.
[#1353] Re: [MethodIndex] Bug and question
— matz@... (Yukihiro Matsumoto)
1998/01/29
まつもと ゆきひろです
[#1354] Re: [MethodIndex] Bug and question
— keiju@... (石塚圭樹 )
1998/01/29
けいじゅ@日本ラショナルソフトウェアです.
[#1355] Re: [MethodIndex] Bug and question
— matz@... (Yukihiro Matsumoto)
1998/01/30
まつもと ゆきひろです
[#1358] Re: [MethodIndex] Bug and question
— keiju@... (石塚圭樹 )
1998/01/30
けいじゅ@日本ラショナルソフトウェアです.
[#1359] Re: [MethodIndex] Bug and question
— matz@... (Yukihiro Matsumoto)
1998/01/30
まつもと ゆきひろです
[#1363] Re: [MethodIndex] Bug and question
— matz@... (Yukihiro Matsumoto)
1998/02/02
まつもと ゆきひろです
[#1364] Re: [MethodIndex] Bug and question
— keiju@... (Keiju ISHITSUKA)
1998/02/02
けいじゅ@日本ラショナルソフトウェアです.
[#1339] パースエラー等の嵐をDos窓で受けるには...? — Masao Kanemitsu <masao-k@...>
4 messages
1998/01/29
[#1344] ruby-1.1b6 and rbc — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
5 messages
1998/01/29
[ruby-dev:1355] Re: [MethodIndex] Bug and question
From:
matz@... (Yukihiro Matsumoto)
Date:
1998-01-30 04:46:27 UTC
List:
ruby-dev #1355
まつもと ゆきひろです
In message "[ruby-dev:1354] Re: [MethodIndex] Bug and question"
on 98/01/30, 石塚圭樹 <keiju@rational.com> writes:
|けいじゅ@日本ラショナルソフトウェアです.
|``class << Bar; ancestors; end ''の結果が
|不満なんです. やはり:
|
| Barの特異クラス < Fooの特異クラス < Bazの特異クラス <Objectの特異クラス <
| Class < Module < Object < Kernel
|
|となって欲しいんですが...
|
|# MethodIndexはこうなっていることを前提として実装してしまいました(;_;
むむう.まず特異クラスの意味について考えましょう.いわばモデ
ルですね.
まず,現在のRubyの実装では各オブジェクト毎に名前のないクラ
スが付随していますが,これは言語仕様に含まれていません.で
すから,ancestersに特異クラスが含まれることはありえません.
次に,「class <<obj; .. end」という構文ですが,これの仕様
としての意味は「一時的なクラスオブジェクトを用意し,そのク
ラスに対する操作(メソッドや定数の定義)を,指定したオブジェ
クトに対して有効にする」というものです.現在の実装ではオブ
ジェクトに付随する無名クラスをそのまま見せていますが,これ
はいわば「実装依存」であり,将来に渡って保証できるものでは
ありません.
ですから,objがこの「一時的なクラス」のインスタンスである
か,という答えには「そうである必要性はない」と考えています.
特異メソッドが定義されようとされまいと,モデル上objはやは
りもともとのクラスのインスタンスであることには変わりないと
考えているので.
obj.instance_of?(class)
の定義は
obj.type == class
であり,それ以上のものではありません.
で,
|>|4.3 つぎに, incetance_of?に関する質問ですが.
|# 前の続き
|rbc0> BAR = eval("class << Bar; self; end")
|Class
|rbc0> Bar.instance_of?(BAR)
|false
|rbc0> Bar.instance_of?(Class)
|false
|rbc0> Bar.instance_of?(Bar.type)
|false
|
|こういう結果はおかしくないか? という意味です.
最初のものは上述の理由によりおかしくないと考えています.で,
残りの二つ,
|rbc0> Bar.instance_of?(Class)
|false
|rbc0> Bar.instance_of?(Bar.type)
|false
これらはおかしいと思いますが,1.1b5でも前者はtrueが返ります
し,今回のパッチで後者もtrueを返すようになったと思います.
しかし,メソッドインデックスを実装する上で上記のモデルや現在
の実装に不都合があるということでしたら,メタレベルの機能の提
案者は石塚さんですから,相談に乗ります.
まつもと ゆきひろ /:|)