[#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:3313] Re: meta programings [Re:exceptions (Re: Ver 1.1 [Re: Matrix])]

From: matz@... (Yukihiro Matsumoto)
Date: 1997-07-10 02:06:46 UTC
List: ruby-list #3313
まつもと ゆきひろです

In message "[ruby-list:3309] Re: meta programings [Re:exceptions (Re: Ver 1.1 [Re: Matrix])]"
    on 97/07/09, 石塚圭樹 <keiju@bc.mbn.or.jp> writes:

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

|イメージが違うかも知れないっすね. 今までこの手のプログラムをやっていて
|めんどくさいなと思った点として,
|
|1. あるクラスにローカルなクラスの定義
|2. そうやって生成したクラスに対して, クラス定数, メソッドなどを定義する
|3. メソッド定義時おける文字列操作のめんどくささ
|
|があります. 
|
|1, 2に対しては, 構文ベースでない関数ベースのAPIがあれば良いかなと感じ
|ています.
|
|1.
|  new_class = Class.new("class-name", super-class, context-class)
|2.
|  new_class.def_class_constant(:variable_name)
|  new_class.def_method("method source")
|  ...  
|
|などなど. これらは, Classの(特異)メソッドで十分な気がします.

context-classってのは良く分かりませんが,こういうのを作って
みたんですけど,どうでしょう.

  Module.new(name)

    nameで指定される名前を持つ新しいモジュールを生成する.戻
    り値は定数などにバインドされていないので,自分で設定する
    必要がある.イテレータとして呼ばれた時にはイテレータブロッ
    ク内で定義したメソッドは新たに生成されたモジュールに定義
    される.

  Class.new(name[, super])

    nameで指定されるsuperをスーパークラスとする新しいクラス
    を生成する.他はModule.newと同じ.

以下のようなプログラムが動いています.

  module A
    Foo = Module.new("Foo"){
      def bar
        print "bar\n"
      end
    }
    p Foo.type

    Bar = Class.new("Bar"){
      include Foo
      def baz
        print "baz\n"
      end
    }
    p Bar.type
    p bar = Bar.new
    bar.bar
    bar.baz
  end

で,こういうの作ってみて分かったんですが,これをメソッドの中
から呼ぶとnested method definitionといって怒られます.この辺
をなんとかしないと使いにくいでしょうね.

あと,トップレベルでは自動的にprivateになる仕様もこういう時
には面倒でした.

定数やメソッドの定義は,イテレータブロックで行うのではなく,
関数的なAPIにした方が良いのかも知れません.

|問題は3で, 文字列操作よりも簡単に行うには, 構文をそのままクラスとして
|マップした何かがあればいいかなと思ったわけです. イメージとしては, リス
|ト処理でLispのプログラムを作るイメージです. リスト処理に相当する元とし
|て構文処理かなと...
|
|# でも, そこまでしなくても良いかなあ...

lispじゃないんだから….
                                まつもと ゆきひろ /:|)

In This Thread