[#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:180] Re: [ruby-list:3709] Re: new sync.rb release
けいじゅ@日本ラショナルです.
In [ruby-list :03709 ] the message: "[ruby-list:3709] Re: new sync.rb
release ", on Aug/19 13:03(JST) shugo@po.aianet.ne.jp (前田 修吾/
maeda shugo) writes:
>前田です。
>|前田さんがいなくて淋しかったです(^^;;;
>どうもです:-)
復活するなりすごいものを出してきましたねえ(@@;;;
>|SynchronizableはSynchronizerを利用して(デレゲートタイプの利用ですね)実
>|現しているのに対して, 逆に, SyncはSync_mをインクルードして実現していま
>|す. 結局同じことを実現するのに反対のやりかたをしています.
>
>まさかSyncがこうなるとは思っていなかったもので(^^;
新版Mutex_m を作った時から, Mutexもこのようにして実現できると思ってい
たのもありますし, 結構複雑なので2つ同じようなものは必要ないと思いまし
たし...
# Mutex_m::For_primitive_objectとMutex_m::For_general_objectは, 同じア
# ルゴリズムを含んでしますが, Sync_m::XX では, polymorphを使って1つに
# まとめました(^^;;;
>extend_objectをオーバーライドして初期化処理をしてるんですね。
>このワザいただきます:-)
あ? これは, 前から公開されているんですけどね. ここでは, 実際にextendす
るクラスをすり替えてしまっているところが技ですね(^^;;;
>でもincludeした時はやはりinitializeでsyns_extendedしないといけないのか...。
>これはincludeをClassで再定義しちゃうしかないのかな。
ああ. includeして利用することを考えてなかったもので, includeには全然対
応できていないですね(^^;;;
>class Class
(ここから省略)
>Thread.join t
>
>なんてのも動いてしまいました。
>newの引数が違うとちゃんとArgumentErrorになりますね。
なかなかものすごいですね(@@;;;; こういうプログラム非常に好みなんですが...
とはいえ, 気になる点が少しあります.
1. includeをoverrideするのはちょっと...
以前, extendと同様にincludeもフックが欲しいという話しがあったのですが,
結局採用になりませんでした. このような大きな変更にはrubyの作者の意向に
したがった方が良いんじゃないかなあ... という思いがあります.
# 元メイルが見つからん... extendのhookの話しは見つかったのですが...
# 再度議論して仕様に入れてもらうというてもありますが(^^;;;
とはいえ includeで Sync_m::For_primitive_object はすかないので,
class Spokesperson < String
Sync_m.included_to self
# or inclued Sync_m.includable
こんな感じのインターフェイスになってしまいますが...
ところで, 前田さんのは:
>class Spokesperson < String
> include Sync_m::For_primitive_object
としていますが,
class Spokesperson < String
include Sync_m
としても動作しますよね? この辺りは, include-hookの効果が出てていいとこ
ろですねえ...
# やはり, include-hookが欲しいなあ >>> 松本クーン!!
2. superが使える
前田さんのプログラムは, include時にnewをoverrideしていますが, ここまで
は必要ないんじゃないでしょうか?
通常, インスタンスの初期化時に, 上位クラスでの初期化を行いたい場合は
superを使うことになっているので, superで初期化できるようになっていれば
文句はないと思います.
ということで,
class Spokesperson < String
Sync_m.included_to self
def Spokesperson.new
super.new.initialize
end
# String newはinitializeしてくれないらしいので追加, 一般クラスなら
# ば必要なし
#def ininitalize
# super
#end
# newをoverrideしているので必要なし. 一般クラスの場合こちらが必要.
end
というインターフェイスでは不満でしょうか?
__
..........................................石塚 圭樹@日本ラショナル...
----------------------------------->> e-mail: keiju@bc.mbn.or.jp <<---