[#3] Re: [ruby-list:3517] Re: meta programming features — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

28 messages 1997/07/28
[#6] Re: [ruby-list:3517] Re: meta programming features — keiju@... (Keiju ISHITSUKA) 1997/07/28

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

[#11] Re: [ruby-list:3517] Re: meta programming features — matz@... (Yukihiro Matsumoto) 1997/07/29

まつもと ゆきひろです

[#14] Re: [ruby-list:3517] Re: meta programming features — keiju@... (石塚圭樹 ) 1997/07/29

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

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

まつもと ゆきひろです

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

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

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

まつもと ゆきひろです

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

けいじゅ@今日でフリーは終り(;_;です.

[#28] Re: meta programming features — matz@... (Yukihiro Matsumoto) 1997/08/01

まつもと ゆきひろです

[#31] Re: meta programming features — keiju@... (石塚圭樹 ) 1997/08/01

けいじゅ@今日から日本ラショナルです.

[#33] Re: meta programming features — matz@... (Yukihiro Matsumoto) 1997/08/01

まつもと ゆきひろです

[#35] Re: meta programming features — keiju@... (石塚圭樹 ) 1997/08/02

けいじゅ@日本ラショナルです.

[#38] Re: meta programming features — matz@... (Yukihiro Matsumoto) 1997/08/03

まつもと ゆきひろです

[ruby-dev:4] Re: eval with dynamic binding [Re: meta programming features]

From: matz@... (Yukihiro Matsumoto)
Date: 1997-07-28 15:08:29 UTC
List: ruby-dev #4
In message "[ruby-dev:1] Re: [ruby-list:3486] Re: eval with dynamic binding [Re: meta programming features]"
    on 97/07/28, 石塚圭樹 <keiju@bc.mbn.or.jp> writes:

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

|というか, Cでは,
|
|{
|  int foo;
|  int bar;
|  {
|    int foo;
|    bar;
|  }
|}
|
|のとき, 内側のbarと外側のbarは共有されますが, fooはそうじゃないですよ
|ね. そういうイメージがあったのでした.

ちょっとわかりませんでした.

|>構造が同じだけで継承関係はないです.Bindingというクラスはな
|>くて,ただのDataですし.クラスにした方が良いのかなあ.
|
|binding.type とすると Data になりますね. Dataって何ですか? クラスじゃ
|ないですよね. 

いちおうクラスですよ.Cのポインタをラップする時に使われる
ruby的にはなんの働きもしないクラスですが.

|Proc構造体に対して動的に動的ローカル変数を追加するということもできないっ
|てことですか? 例えば,
|
|  new_binding = eval "proc{|a| a = 'Foo'}", old_binding
|
|などは, 動的に動的ローカル変数を追加したバインディングを生成しているこ
|とになると思うのですが...

old_bindingでローカル変数aが使われていないといなければ動的ロー
カル変数aを追加しますが,既に使われていればそのローカル変数
(おそらくはどこかのスコープで共有している)の値を変更します.

こういう動作をするんじゃ,動的ローカル変数を追加するとは呼べ
ないのでは?
                                まつもと ゆきひろ /:|)

Thread

Prev Next

In This Thread