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

From: keiju@... (Keiju ISHITSUKA)
Date: 1997-07-11 09:07:19 UTC
List: ruby-list #3331
けいじゅ@今はフリー(^^;;;です. 

In [ruby-list :03320 ] the message: "[ruby-list:3320] Re: meta
programings [Re:exceptions (Re: Ver 1.1 [Re: Matrix])] ", on Jul/10
17:38(JST) matz@caelum.co.jp (Yukihiro Matsumoto) writes:

>|なかなか使いやすそうですね. ただ, 先の context-class が指定できないの
>|がローカルクラスを作る時面倒です. 
>
>っていうか,Class.new/Module.newは定数を定義しないので
>context-classというのは存在しません.戻り値として与えられる
>クラス(あるいはモジュール)を定数なり変数なりに代入してくださ
>いませ.定義部はイテレータブロックを使っているのでバインディ
>ングは変更できません.

うーん. そういうことですか.... ちょっと気になることが1つ. 今までのクラ
スは文字列に直すと, クラスを定義したところのパスが出ますよね. つまり,

module Foo
  class Bar
    ...
  end
end

Foo::Bar.to_s --> Foo::Bar

この辺りの表現はどうなるんですか? とくに, object.type は文字列を返すの
で, 一意性が崩れてしまって使いづらくなると思いますが?

>|  a = Foo::Bar::Baz # あるモジュール
>|  module a
>|    ...
>|  end
>|
>|も OK? それなら問題ないかなあ... 
>
>だめです.Aはかならず定数でなければなりません.Foo::Bar::Baz
>に機能を追加したければ
>
>  module Foo
>    module Bar
>      moduel Baz
>      end
>    end
>  end
>
>とするしかないですね.

いや. これがチョーめんどくさいからやりたくないんですけど...
でも.

a = Foo::Bar::Baz
a.constant_value("class-name") = Module.new("class-name") {...}

と書けるのかな? それなら問題ないな.

>トップレベル(class/moduleの外)でdefするとprivate methodにな
>ります.これはトップレベルでの定義されるのは関数(的メソッド)
>であろう,ということからです.普段は確かにそうなんですけど,
>こういう時は不便ですよね.

なるなる.

>|定数はともかく, メソッド定義は関数的でないと使いづらい場合も多いと思い
>|ます. とくに, 動的にコードを生成する時には.
>
>動的にコードを生成する? lispじゃないんだから.

まあ. そういわないで, 実際やっているんだから(^^;;;

>|ここまで話しが進んだので, 他のAPIのリクエストも出しましょう.
>|
>|  Module#def_method(name, source)
>|    メソッドを定義する.
>sourceって文字列なんですか? どういう感じなんだろう?

Foo.def_method("f(n)", "n + 1")

の様な感じですが. 何か変ですね...

まあ, とにかくメソッドを動的に追加するメソッドです.

>|  Module#class_variables
>|    クラス変数の一覧
>クラス定数ですよね.Module#constantsかしら?

おお. そうですね.

>|  Module#class_variable_value(name)
>|    クラス変数の値
>Module@constant_value(name)かな?

たしかに.

>|  Module#class_variable_value(name, value)
>|    クラス変数の値を設定する
>Module@constant_value(name)=valueでは?

なるなる. 素晴らしい!!

>| (Module#instance_variables
>|    インスタンス変数の一覧. 必要か?)
>オブジェクト毎に違うわけですから,Moduleとしては得られないで
>しょう.

ですよね.

>|  Module#includes
>|    インクルードモジュールの一覧を返す.
>これ,現在の実装では情報を持っていません.実装するのはちょっ
>と面倒ですねえ.

ですかあ.... 

>|  Object#methods
>|    メソッドと(private/public)の組みの一覧を返す.
>これだとModule/Classそのもののmethodを取れませんね.重複しちゃ
>うから.

そうなんですよ. 私も後で気づきました(^^;;;

>|  Object#extends
>|    エクステンドモジュールの一覧を返す.
>これも情報が取ってないです.どうしよう.

ですかあ.... 

>|# あと, undef系があるかな...
>
>まあ,よいですけど….なんか,ここで既に大げさで(完全性は満
>たしているかも知れませんが),rubyらしくない気がしてます.

そうですかねえ... 

>|あと, 松本氏はいやがるかも知れませんが,
>|
>|  Module#methods_sources
>|    メソッドと(private/public)とソースコードの組みの一覧を返す. 
>|  Object#methods_source
>|    メソッドと(private/public)とソースコードの組みの一覧を返す.
>|
>|があるかな. 

>いやがるもなにも,どうやって実装するんですか? さすがにMOPの
>ような普段使わない機能のためにメソッド毎のソースを保存して普
>段の効率を落す気は無いですし,それ以外の方法って思い付かない
>ですし.それにCで実装されているメソッドにはソースは無いです
>よね.

ですねえ... 

>|object.instance_variables do
>|  |name, access, value|
>|  ...
>|end
>|
>|イテレータにすると値まで取り出せるわけですね.

>インスタンス変数のaccessってなに?

すいません. なかったことにして下さい.

>最終的な印象としてはちょっと抵抗があるというのが事実です.ま
>あ,とりあえずは抵抗の無い
>
>  Module#constants
>  Object#methods
>
>くらいを導入しようかなあ.あ,でもクラスに対してmethodsって
>聞いた時にはクラスオブジェクトの知っているメソッドではなく,
>クラスインスタンスの知っているメソッドを返して欲しいなあ.

この文章難しいなあ... クラスの特異メソッドを返したいのか, クラスで定義
されたメソッドを返したいのか...

__
.........................................石塚 圭樹@今はフリー(^^;;...
------->>また, アドレス変わりました!! e-mail: keiju@bc.mbn.or.jp <<---

In This Thread