[#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:3425] eval with dynamic binding [Re: meta programming features]

From: keiju@... (石塚圭樹 )
Date: 1997-07-24 02:00:05 UTC
List: ruby-list #3425
けいじゅ@今はフリー(^^;;;です. 

これはこれで, 実現するかどうかはともかく, もうちょっと深めたいのでつき
あって下さい.

In [ruby-list :03419 ] the message: "[ruby-list:3419] Re: meta
programming features ", on Jul/24 07:34(JST) matz@netlab.co.jp
(Yukihiro Matsumoto) writes:

>|  a = "Foo"
>|  proc{|a| a = "Bar"}.call
>|  print a

>ちゃいます.この場合 a は(イテレータブロックの外で代入されて
>いるので)常に静的ローカル変数です.ですから,この結果は
>
>=======================
>  Bar
>
>です.動的ローカル変数とは「イテレータブロックの中で最初に代
>入された変数」のことです.

あ. そうでした. この場合は, パラメータとして|a|しているけど, 静的ロー
カル変数の`a'と同じものになるんですね?

>|別のものですか... 
>
>evalに渡す文字列はrubyプログラムですが,"|a| A = a"は完全な
>rubyプログラムではありませんから.たとえば,
>
>  ruby -ce "|a| A = a"
>
>してみれば分かると思いますが.

ああ. なるほど. それはそうですね.

そういう意味では, 

ruby "print ARGV.inspect" "foo"

は実現できるので,

  eval "print ARGV.inspect", a_binding, "foo"

みたいな方法は可能かな? 変数名はARGVじゃない方が良いとは思いますが.

>|うーん. なるほど... ところで, バインディングってどんなオブジェクトなん
>|です? 
>
>構造はProcと同じです.

BindingはProcのスーパクラスなのかな? 

>ちなみにProcをbindingとして渡しても動作します.Procはイテレータがスタッ
>ク上に持っている情報をオブジェクト化したもので,だいたい以下のような
>ものを持っています.

>  * 静的ローカル変数フレーム
>  * 動的ローカル変数フレーム
>  * self
>  * 現在のclass(定数・メソッドの定義先)
>  * そのほか付加的な値

そうすると, procは既存のバインディングに対して動的ローカル変数を追加し
た新たなバインディングを生成しているともいえますね.

通常のProcは現在のバインディングを引き継ぎますが, 明示的にバインディン
グを指定して, かつ, 動的ローカル変数とその値の設定が無理なくできれば求
めるものができそうな.

  aa = "foo"
  Proc.new(a_binding, :aa)

上記は, あるバインディングa_bindingに 変数aaを動的ローカル変数aaとして
追加しているところです.

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

In This Thread