[#950] ruby 1.1b0 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
33 messages
1997/12/05
[#951] Re: ruby 1.1b0 released
— WATANABE Hirofumi <eban@...>
1997/12/05
わたなべです.
[#953] Re: ruby 1.1b0 released
— shugo@... (Shugo Maeda)
1997/12/06
前田です。
[#965] Re: ruby 1.1b0 released
— matz@... (Yukihiro Matsumoto)
1997/12/08
まつもと ゆきひろです
[#985] Re: tcltklib error (Re: wave viewer) — akira yamada / やまだあきら <akira@...>
1 message
1997/12/09
[#992] rbc.rb with ruby 1.1b0 — Masaki Suketa <masaki.suketa@...>
助田です。
6 messages
1997/12/09
[#998] ruby 1.1b1 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
48 messages
1997/12/09
[#1011] Re: ruby 1.1b1 released
— Kazuhisa Yanagawa <katze@...>
1997/12/10
in message-id: <199712090833.RAA31727@picachu.netlab.co.jp>
[#1013] Re: ruby 1.1b1 released
— matz@... (Yukihiro Matsumoto)
1997/12/10
まつもと ゆきひろです
[#1016] Re: ruby 1.1b1 released
— Kazuhisa Yanagawa <katze@...>
1997/12/10
in message-id: <199712100351.MAA10392@picachu.netlab.co.jp>
[#1028] Regexp#operators (Re: ruby 1.1b1 released)
— Shin-ichiro HARA <sinara@...>
1997/12/10
原です。
[#1030] Re: Regexp#operators (Re: ruby 1.1b1 released)
— matz@... (Yukihiro Matsumoto)
1997/12/10
まつもと ゆきひろです
[#1033] Re: Regexp#operators (Re: ruby 1.1b1 released)
— Shin-ichiro HARA <sinara@...>
1997/12/10
原です。
[#1049] Re: Regexp#operators (Re: ruby 1.1b1 released)
— Shin-ichiro HARA <sinara@...>
1997/12/11
原です。
[#1064] Re: Regexp#operators (Re: ruby 1.1b1 released)
— matz@... (Yukihiro Matsumoto)
1997/12/12
まつもと ゆきひろです
[#1097] Re: Regexp#operators (Re: ruby 1.1b1 released)
— Shin-ichiro HARA <sinara@...>
1997/12/15
原です。
[#1103] Re: Regexp#operators (Re: ruby 1.1b1 released)
— matz@... (Yukihiro Matsumoto)
1997/12/16
まつもと ゆきひろです
[#1100] Re: Regexp#operators (Re: ruby 1.1b1 released)
— Masaki Suketa <masaki.suketa@...>
1997/12/16
助田です。
[#1034] Re: Regexp#operators (Re: ruby 1.1b1 released)
— matz@... (Yukihiro Matsumoto)
1997/12/10
まつもと ゆきひろです
[#1001] Re: ruby 1.1b1 released
— Takahiro Maebashi <maebashi@...>
1997/12/09
前橋です。
[#1002] Object#bind — shugo@... (Shugo Maeda)
前田です。
39 messages
1997/12/09
[#1007] Re: Object#bind
— keiju@... (石塚圭樹 )
1997/12/10
けいじゅ@日本ラショナルソフトウェアです.
[#1008] Re: Object#bind
— matz@... (Yukihiro Matsumoto)
1997/12/10
まつもと ゆきひろです
[#1023] Re: Object#bind
— shugo@... (Shugo Maeda)
1997/12/10
前田です。
[#1026] Re: Object#bind
— matz@... (Yukihiro Matsumoto)
1997/12/10
まつもと ゆきひろです
[#1044] Re: Object#bind
— keiju@... (石塚圭樹 )
1997/12/11
けいじゅ@日本ラショナルソフトウェアです.
[#1051] Re: Object#bind
— shugo@... (Shugo Maeda)
1997/12/11
前田です。
[#1063] Re: Object#bind
— matz@... (Yukihiro Matsumoto)
1997/12/12
まつもと ゆきひろです
[#1074] Re: Object#bind
— shugo@... (Shugo Maeda)
1997/12/12
前田です。
[#1079] Re: Object#bind
— keiju@... (石塚圭樹 )
1997/12/14
けいじゅ@日本ラショナルソフトウェアです.
[#1084] Re: Object#bind
— matz@... (Yukihiro Matsumoto)
1997/12/15
まつもと ゆきひろです
[#1087] Re: Object#bind
— keiju@... (石塚圭樹 )
1997/12/15
けいじゅ@日本ラショナルソフトウェアです.
[#1088] Re: Object#bind
— matz@... (Yukihiro Matsumoto)
1997/12/15
まつもと ゆきひろです
[#1122] Re: Object#bind
— keiju@... (石塚圭樹 )
1997/12/17
けいじゅ@日本ラショナルソフトウェアです.
[#1127] Re: Object#bind
— matz@... (Yukihiro Matsumoto)
1997/12/18
まつもと ゆきひろです
[#1134] Re: Object#bind
— keiju@... (石塚圭樹 )
1997/12/18
けいじゅ@日本ラショナルソフトウェアです.
[#1021] [1.1b1] tkdialog.rb — Kikutani Makoto <kikutani@...>
きくたにです。
5 messages
1997/12/10
[#1052] [1.1b1] TkRadiobutton select — Kikutani Makoto <kikutani@...>
きくたにです。
11 messages
1997/12/11
[#1055] Re: [1.1b1] TkRadiobutton select
— Kikutani Makoto <kikutani@...>
1997/12/11
きくたにです。
[#1061] Re: [1.1b1] TkRadiobutton select
— Kikutani Makoto <kikutani@...>
1997/12/12
Thu, Dec 11, 1997 at 08:39:33PM +0900 において
[#1062] Re: [1.1b1] TkRadiobutton select
— matz@... (Yukihiro Matsumoto)
1997/12/12
まつもと ゆきひろです
[#1080] ruby1.1b0(cygwin32) — Masaki Suketa <masaki.suketa@...>
助田です。
10 messages
1997/12/15
[#1083] Re: ruby1.1b0(cygwin32)
— WATANABE Hirofumi <watanabe@...>
1997/12/15
わたなべです.
[#1095] Re: ruby1.1b0(cygwin32)
— Masaki Suketa <masaki.suketa@...>
1997/12/15
助田です。
[#1096] Re: ruby1.1b0(cygwin32)
— WATANABE Hirofumi <watanabe@...>
1997/12/15
わたなべです.
[#1099] Re: ruby1.1b0(cygwin32)
— Masaki Suketa <masaki.suketa@...>
1997/12/15
In message "[ruby-dev:1096] Re: ruby1.1b0(cygwin32)"
[#1081] Re: [ruby-list:5634] Platform Identification (was Re: ruby 1.0-971204 released) — Kazuhisa Yanagawa <katze@...>
4 messages
1997/12/15
[#1085] [Req] object refference — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
12 messages
1997/12/15
[#1086] Re: [Req] object refference
— matz@... (Yukihiro Matsumoto)
1997/12/15
まつもと ゆきひろです
[#1089] Re: [Req] object refference
— keiju@... (石塚圭樹 )
1997/12/15
けいじゅ@日本ラショナルソフトウェアです.
[#1110] Re: Regexp#operators (Re: ruby 1.1b1 released) — Shin-ichiro Hara <sinara@...>
原です。
4 messages
1997/12/16
[#1123] [BUG] mershal — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
9 messages
1997/12/17
[#1146] extconf.rb for socket — KIMURA Koichi <kkimura@...>
5 messages
1997/12/18
[#1159] mswin32 patch for ruby-1.1b2 — KIMURA Koichi <kkimura@...>
7 messages
1997/12/20
[#1167] visibility (Re: ruby 1.1b2 released) — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
8 messages
1997/12/25
[ruby-dev:1142] Re: Object#bind
From:
shugo@... (Shugo Maeda)
Date:
1997-12-18 07:18:51 UTC
List:
ruby-dev #1142
前田です。
In message "[ruby-dev:1136] Re: Object#bind"
Yukihiro Matsumoto <matz@netlab.co.jp> wrote:
||# たしか, この話しの元になったのが
||#
||# (fset 'old-func (symbol-funcation 'method)
||# (defun method ...)
||#
||# をrubyでも行ないたいって話しでしたので...
|
|とはいえ,もともとの前田さんのBoundMethodの実装が今私の話し
|ているようなBoundMethodでしたからねえ.
混乱させてしまったようで,すみません。
|問題なのはmix-inの関係でrubyは実装上は多重継承になっているの
|でsuperで呼ばれるメソッドが静的には決して決まらないことです.
|で,現在はレシーバのクラス階層から動的に探しているのですが,
|UnboundMethodによってメソッドが要求するクラス階層とレシーバ
|のクラス階層が異なると破綻しそうです.すくなくとも現在の実装
|では対応できません.
UnboundMethodにそのメソッドが定義されていたクラスも持たせれば
よいのではないでしょうか?
struct UNBOUND_METHOD {
VALUE class;
ID id;
NODE *body;
};
/* UnboundMethod#apply 第一引数をレシーバとしてメソッドを呼び出す */
static VALUE unboundmethod_apply(int argc, VALUE *argv, VALUE method)
{
VALUE result, recv;
struct UNBOUND_METHOD *data;
enum node_type type;
if (argc == 0) ArgError("wrong # arguments");
recv = *argv;
argc--; argv++;
Data_Get_Struct(method, struct UNBOUND_METHOD, data);
type = nd_type(data->body);
PUSH_ITER(iterator_p()?ITER_PRE:ITER_NOT);
result = rb_call0(data->class, recv, data->id, data->id,
argc, argv, 1, data->body, type);
POP_ITER();
return result;
}
# 実際に試してないので変なところがあるかもしれません。
クラスにUnboundMethodをメソッドとして追加する方は,ちょっと
姑息ですが,
class Module
def add_method(name, method)
unless name.kind_of? String
name = name.id2name
end
module_eval %!
UNBOUND_METHODS__ = {} unless defined? UNBOUND_METHODS__
UNBOUND_METHODS__["#{name}"] = method
def #{name}(*args)
UNBOUND_METHODS__["#{name}"].apply(self, *args)
end
!
end
end
などとすれば,うまくいくように思います。
--
前田 修吾