[#3305] Observable#notify_observers — shugo@... (maeda shugo)

前田です。

22 messages 1997/07/09

[#3329] meta programming features — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

44 messages 1997/07/11
[#3330] Re: meta programming features — keiju@... (石塚圭樹 ) 1997/07/11

けいじゅ@今はフリー(^^;;;です.

[#3332] Re: meta programming features — matz@... (Yukihiro Matsumoto) 1997/07/11

まつもと ゆきひろ%最終出社日です

[#3340] Re: meta programming features — keiju@... (石塚圭樹 ) 1997/07/14

けいじゅ@今はフリー(^^;;;です.

[#3343] Re: meta programming features — matz@... (Yukihiro Matsumoto) 1997/07/14

まつもと ゆきひろです

[#3345] Re: meta programming features — keiju@... (石塚圭樹 ) 1997/07/14

けいじゅ@今はフリー(^^;;;です.

[#3346] Re: meta programming features — matz@... (Yukihiro Matsumoto) 1997/07/14

まつもと ゆきひろです

[#3349] Re: meta programming features — keiju@... (石塚圭樹 ) 1997/07/15

けいじゅ@今はフリー(^^;;;です.

[#3352] Re: meta programming features — matz@... (Yukihiro Matsumoto) 1997/07/15

まつもと ゆきひろです

[#3353] Re: meta programming features — keiju@... (石塚圭樹 ) 1997/07/15

けいじゅ@今はフリー(^^;;;です.

[#3357] Re: meta programming features — matz@... (Yukihiro Matsumoto) 1997/07/15

まつもと ゆきひろです

[#3361] Re: meta programming features — keiju@... (石塚圭樹 ) 1997/07/16

けいじゅ@今はフリー(^^;;;です.

[#3365] Re: meta programming features — matz@... (Yukihiro Matsumoto) 1997/07/16

まつもと ゆきひろです

[#3366] Re: meta programming features — keiju@... (石塚圭樹 ) 1997/07/16

けいじゅ@今はフリー(^^;;;です.

[#3391] Re: meta programming features — matz@... (Yukihiro Matsumoto) 1997/07/18

まつもと ゆきひろです

[#3398] Re: meta programming features — keiju@... (石塚圭樹 ) 1997/07/19

けいじゅ@今はフリー(^^;;;です.

[#3401] Re: meta programming features — matz@... (Yukihiro Matsumoto) 1997/07/19

まつもと ゆきひろです

[#3406] Re: meta programming features — keiju@... (石塚圭樹 ) 1997/07/22

けいじゅ@今はフリー(^^;;;です.

[#3410] Re: meta programming features — matz@... (Yukihiro Matsumoto) 1997/07/22

まつもと ゆきひろです

[#3415] Re: meta programming features — keiju@... (石塚圭樹 ) 1997/07/23

けいじゅ@今はフリー(^^;;;です.

[#3375] Exception — keiju@... (Keiju ISHITSUKA)

けいじゅ@今はフリー(^^;;です.

19 messages 1997/07/17
[#3383] Re: Exception — matz@... (Yukihiro Matsumoto) 1997/07/18

まつもと ゆきひろです

[#3388] Re: Exception — keiju@... (石塚圭樹 ) 1997/07/18

けいじゅ@今はフリー(^^;;;です.

[#3392] Re: Exception — matz@... (Yukihiro Matsumoto) 1997/07/18

まつもと ゆきひろです

[#3403] sorry for ruby-list trouble — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

18 messages 1997/07/22
[#3404] Re: sorry for ruby-list trouble — keiju@... (石塚圭樹 ) 1997/07/22

けいじゅ@今はフリー(^^;;;です.

[#3408] Re: sorry for ruby-list trouble — matz@... (Yukihiro Matsumoto) 1997/07/22

まつもと ゆきひろです

[#3414] Re: sorry for ruby-list trouble — keiju@... (石塚圭樹 ) 1997/07/23

けいじゅ@今はフリー(^^;;;です.

[#3420] Re: sorry for ruby-list trouble — matz@... (Yukihiro Matsumoto) 1997/07/23

まつもと ゆきひろです

[#3434] [Q] Thread — keiju@... (Keiju ISHITSUKA)

けいじゅ@今はフリー(^^;;です.

44 messages 1997/07/24
[#3444] Re: [Q] Thread — matz@... (Yukihiro Matsumoto) 1997/07/24

まつもと ゆきひろです

[#3455] Re: [Q] Thread — keiju@... (石塚圭樹 ) 1997/07/24

けいじゅ@今はフリー(^^;;;です.

[#3461] Re: [Q] Thread — matz@... (Yukihiro Matsumoto) 1997/07/25

まつもと ゆきひろです

[#3464] Re: [Q] Thread — keiju@... (石塚圭樹 ) 1997/07/25

けいじゅ@今はフリー(^^;;;です.

[#3483] Re: [Q] Thread — matz@... (Yukihiro Matsumoto) 1997/07/25

まつもと ゆきひろです

[#3528] Re: [Q] Thread — shugo@... (maeda shugo) 1997/07/28

前田です。

[#3537] Re: [Q] Thread — shugo@... (maeda shugo) 1997/07/29

前田です。

[#3542] Re: [Q] Thread — shugo@... (maeda shugo) 1997/07/30

前田です。

[ruby-list:3352] Re: meta programming features

From: matz@... (Yukihiro Matsumoto)
Date: 1997-07-15 14:25:06 UTC
List: ruby-list #3352
まつもと ゆきひろです

In message "[ruby-list:3349] Re: meta programming features"
    on 97/07/15, 石塚圭樹 <keiju@bc.mbn.or.jp> writes:

|けいじゅ@今はフリー(^^;;;です. 

|>|スーパークラスはすでにあるでしょ?
|>実はバグってました.^^;;;
|
|げげっ!!

メソッドClass#superclassなんですけど,呼ぶとcore dumpしてま
した.

|>あるクラスの機能はそのスーパークラスとインクルードされている
|>モジュールで決まるんですが,rubyにはundefがあったりするんで,
|>あるクラスにinherit/includeされているクラスやモジュールの優
|>先順位つきリストが必要になる場合があるんですね.
|
|なるほどぉ... 追加していけばいいってわけに行きませんからね.

Module#flavorsとかはどうでしょう? なんか違うものを連想しそ
うですけど,メタ機能はあまり一般人は使わないと思うので,一般
人が使わない語彙の方が良いのかなと.

|>そうかもしれませんねえ.デフォルトではそのクラスの範囲内で,
|>フラグを指定すると遡ってリストする感じでしょうか.
|
|ですね. 

定数とメソッドに関してはそういうのが良いのかなという気になっ
て来ました.

|あと, それとは別に, 優先順位付でクラスを遡るイテレータみたいなものもあ
|るとよいかも知れませんね.

優先順位つきリストがあれば要らないでしょう?

|クラス定義に関して欲しい機能は, 以下のことです.
|
|1. 動的にクラスの生成を行いたい. 
|2. この時に静的なクラスのスコープの指定を楽に行いたい(クラス定数への
|   設定でもOK).
|3. 動的にクラスに機能を追加したい.
|
|で, これを実現するAPIとしては, 以下の案があります.
|
|1.a 動的クラス生成, 静的クラススコープ指定なし
|1.b 動的クラス生成, 静的クラススコープ指定あり
|2.a クラス定数の設定API
|2.b evalとクラスコンテキストの指定
|3.a module ... end の拡張
|3.b 1.a, 1.bを拡張する
|
|3.a, 3.bが実現されれば, 特に 2.a, 2.b は必要ありません. 
|
|あと, 制限事項になるかもしれないものとして
|
|A. パスの維持
|B. モジュールの機能拡張はあくまでもおまけ
|
|があります. 制約Aを維持したければ, 1.a は不可です. また, 制約Bを維持し
|たければ, 3.aはあまり望ましくありません.
|
|今のところこんな感じになっていますかね?

なるほど,整理された気分です.

まず,制約Aはやはり維持したいと思います.marshalに例外を作る
のもつらいですし,ほかにもパスを使うことがあるかも知れません
し.

制約Bにはこだわりませんが,どちらがより望ましいか議論した上
で決めたいと思います.ただし,慣性の法則により,制約Bを外し
た方が望ましいのでない限り,現状維持を考えています.

とりあえず,以下のメソッドを用意しようかなと思っています.

  クラス定義メソッド

    どこに作るか明示的に指定する(デフォルトは現在のコンテキ
    ストかな)

  継承またはincludeしているクラスやモジュールの優先順位つきリ
  ストメソッド

    名前が問題だ(Module#flavorsかな)

  定数一覧メソッド

    Module#constants(recursive=FALSE)

  メソッド一覧メソッド

    モジュール(クラス)のものとオブジェクト毎のもの.
    名前が問題だ

いかがでしょう?
                                まつもと ゆきひろ /:|)

In This Thread