[#34] [Bug] Class#superclass — shugo@... (maeda shugo)
前田です。
[#49] Re: Nil is a subclass of Object? — shugo@... (maeda shugo)
前田です。
[#50] Re: [ruby-list:3596] Module#attr specification (Re: boolean values) — keiju@... (石塚圭樹 )
けいじゅ@日本ラショナルです.
前田です。
まつもと ゆきひろです
わたなべです.
[#53] About C struct who has references to ruby objects — shugo@... (maeda shugo)
前田です。
[#58] Re: Nil is a subclass of Object? — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#78] [Bug] Socket#send, Socket#recvfrom — shugo@... (maeda shugo)
前田です。
[#97] Re: meta programming features — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#115] Re: meta programming features — WATANABE Hirofumi <watanabe@...>
わたなべです.
[#117] Re: tail recursion (Re: LaTeX ruby documents) — keiju@... (石塚圭樹 )
けいじゅ@日本ラショナルです.
まつもと ゆきひろです
けいじゅ@日本ラショナルです.
[#121] Re: meta programming features — keiju@... (石塚圭樹 )
けいじゅ@日本ラショナルです.
まつもと ゆきひろです
けいじゅ@日本ラショナルです.
まつもと ゆきひろです
まつもと ゆきひろです
けいじゅ@日本ラショナルです.
まつもと ゆきひろです
けいじゅ@日本ラショナルです.
[#127] tracer — keiju@... (Keiju ISHITSUKA)
けいじゅ@いそうろう.日本ラショナルです.
まつもと ゆきひろです
けいじゅ@いそうろう.日本ラショナルです.
まつもと ゆきひろです
けいじゅ@日本ラショナルです.
まつもと ゆきひろです
けいじゅ@日本ラショナルです.
まつもと ゆきひろです
わたなべです.
まつもと ゆきひろです
わたなべです.
けいじゅ@日本ラショナルです.
まつもと ゆきひろです
けいじゅ@日本ラショナルです.
まつもと ゆきひろです
けいじゅ@日本ラショナルです.
けいじゅ@日本ラショナルです.
まつもと ゆきひろです
けいじゅ@日本ラショナルです.
[#167] argument default value — shugo@... (前田 修吾 / maeda shugo)
前田です。
[#185] Re: [ruby-list:3720] Re: Class#eval [Re: ftplib.rb revision 1.4] — keiju@... (石塚圭樹 )
けいじゅ@日本ラショナルです.
まつもと ゆきひろです
けいじゅ@日本ラショナルです.
まつもと ゆきひろです
けいじゅ@日本ラショナルです.
まつもと ゆきひろです
けいじゅ@日本ラショナルです.
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
けいじゅ@日本ラショナルです.
まつもと ゆきひろです
けいじゅ@日本ラショナルです.
けいじゅ@やっと自オフィス.日本ラショナルです.
まつもと ゆきひろです
まつもと ゆきひろです
[#189] include [Re: new sync.rb release] — keiju@... (石塚圭樹 )
けいじゅ@日本ラショナルです.
まつもと ゆきひろです
[#221] '@' in yylex() — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルです.
まつもと ゆきひろです
けいじゅ@日本ラショナルです.
まつもと ゆきひろです
[#228] How to handle Struct — Eiji-usagi-MATSUmoto <ematsu@...>
うさぎです。
[#232] ruby for mswin32 1.1a1差分 — KIMURA Koichi <kkimura@...>
木村 です。
[#257] [BUG] MLF — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルです.
まつもと ゆきひろです
けいじゅ@日本ラショナルです.
けいじゅ@日本ラショナルです.
まつもと ゆきひろです
けいじゅ@日本ラショナルです.
まつもと ゆきひろです
けいじゅ@日本ラショナルです.
まつもと ゆきひろです
けいじゅ@日本ラショナルです.
けいじゅ@日本ラショナルです.
[#276] Re: SyslogSendmail class — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#291] illegal here document — shugo@... (前田 修吾 / maeda shugo)
前田です。
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
わたなべです.
[#309] [BUG] method index — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
[#313] ruby 1.1a4 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#330] [BUG] Module#methods — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
[ruby-dev:133] Re: meta programming features
けいじゅ@日本ラショナルです.
In [ruby-dev :00128 ] the message: "[ruby-dev:128] Re: meta
programming features ", on Aug/15 10:27(JST) matz@netlab.co.jp
(Yukihiro Matsumoto) writes:
>まつもと ゆきひろです
>|実は, クラスは2種類のクラス変数を持てるんですね...
>|
>|* Foo::Var
>|* Foo.type::Var
>|です. 同じ名前だと前者が優先されているみたいですね?
>ちゃいます.前者だけがクラスFooのクラス変数です.後者はクラ
>スFooのメタクラスのクラス定数です.ですから後者は
ええ. それは分かってますって.
> Foo::Var
これはそうですね.
>の形式では参照できませんし.そもそもFooから参照できません.
そんなことないみたいですよ.
class Foo
end
class << Foo
X = "Foo.type"
def Foo.foo
print X, "\n"
end
end
Foo.foo
Bar.foo
====
Foo.type
とでます. と思いましたが...
class Bar
end
class << Foo
X = "Foo.type"
def Bar.foo
print X, "\n"
end
end
Bar.foo
====
Foo.type
となりますね... Foo.foo, Bar.fooがFooのメタクラスのコンテキストで定義
されたので定数が参照できていただけですね...
>|# 何か話しが複雑になっているなあ...
>なんかわざわざ複雑にしているような気もしますが….
(++;;;
>さて,長いメールの内容は引用せずにコメントだけつけると:
順番を入れ替えますね.
> * 特異クラスに定数を定義したり,特異クラスのインスタンス変
> 数にアクセスできても便利なことはない
>
>ことが気になります.もっとも特異クラスは定数とインスタンス変
>数に関して通常クラスと共有することにするという手もありますが.
全然便利でないといわれると困るんですが...
私が使っている例としては, 個別のインスタンスにクラスが関連している場合
に, 特異クラスの定数を使っています. 1.0ではクラス生成に名前(定数)が必
要なので, そうしないとクラス名を一意にする必要が出てきて, プログラムが
複雑になるからです.
# 1.1では名前なしクラスができるのでこの問題はなくなるのかも知れません
# が... でも, クラスは大文字でアクセスしたかったりして(^^;;;
ただ, foo.evalの代わりに foo.type.evalやclass << fooを使えばいいので,
Object#evalの仕様とはそれほど関係ないですが...
> * foo.evalの仕様を public な使い方を想定して定義Bを提案し
> ているようだが,関数的なevalの使い方を考えると定義Aの方
> が自然である(と松本が主張した)ことを考慮していない
そうでしたね. 確かに
eval "def func ..."
と
foo.eval "def func..."
では, だいぶ雰囲気が違う...
ただ, 1ついえることは, すでに 特異メソッドfoo.funcが定義されている時に
foo.eval "def func .."
が特異メソッドの再定義にならないのもおかしいと思いませんか? fooから見
たメソッドfuncの定義を行いたいわけですから...
とはいえ, 常に特異メソッドや特異クラスの定数が定義されるのも, あまり嬉
しくないのも確かですね...
松本氏のいう通り, 基本は関数evalの動作が望ましいと思うようになったので
すが...
evalの動作をオプション引数で変えられるというのも変ですかねえ...
eval "def foo.func..."で特異メソッドの定義はできるので, 少なくとも, す
でにそういう名前の特異メソッドが定義されているかどうかを判断するメソッ
ドは欲しいかなあ..
>|そうですか. それでは, さらに, MPF-APIのリクエストをします:
>
>なんか,これらは美しくない(趣味に合わない)ので,ちょっと検討
>してみます.
そうですか... そんなに趣味が悪かったですか...
>|ところで, 特異クラスが見えるようになると, そのサブクラスも作れるように
>|なるんですかね?
>
>できていけない理由はないと思ったので,できます.禁止した方が
>良いですか?
そういうわけでもないんですけど...
さらに, 特異クラスから新たにインスタンスを作ることもできるんですね.
objの特異クラスはobjのシングルトンクラスになっているというイメージは間
違っているんですね...
こうなってくると特異クラスって何だろう? って思いはじめてきました... 特
異クラスはあまり見せない方が良いのかも知れませんね...
>|# なんだか, 話しが複雑だなあ...
>なんかわざわざ複雑にしているような気もしますが….^^;;;
># ルールを積み重ねればなんだって複雑にできますよね
うーん. rubyの柔軟性を表しているというか何というか...
__
..........................................石塚 圭樹@日本ラショナル...
----------------------------------->> e-mail: keiju@bc.mbn.or.jp <<---