[前][次][番号順一覧][スレッド一覧][生データ]

yarv-dev:765

From: sheepman <sheepman sheepman.sakura.ne.jp>
Date: Sat, 31 Dec 2005 10:21:27 +0900
Subject: [yarv-dev:765] open> an assignment to local variables breaks binding

こんにちは、sheepman です。
以下のように binding を作ってから、ローカル変数に代入すると
a が 1 でも 2 でもなく、nil になります。

$ cat t.rb
b = proc{
  a = 1
  binding
}.call
a = 2
p eval("a", b)

$ ./miniruby -v t.rb
ruby 1.9.0 (2005-11-18) [i686-linux]
YARVCore 0.3.3 (rev: 346) [opts: ]
warning: useless use of a variable in void context
nil

$ ruby-1.9 -v t.rb
ruby 1.9.0 (2005-12-30) [i686-linux]
1

-- 
sheepman / TAMURA Takashi
sheepman sheepman.sakura.ne.jp http://sheepman.parfait.ne.jp/

-- 
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧][生データ]

->     765 2005-12-31 10:21 [sheepman sheepman.sa] open> an assignment to local variables breaks binding
       766 2005-12-31 12:57 ┗[ko1 atdot.net       ]                                       
       767 2005-12-31 12:58  ┗[ko1 atdot.net       ] fixed> Re: open> an assignment to local variables breaks binding
       780 2006-01-10 20:48   ┗[sheepman sheepman.sa] close> an assignment to local variables breaks binding