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

yarv-dev:656

From: SASADA Koichi <ko1 atdot.net>
Date: Wed, 05 Oct 2005 16:15:18 +0900
Subject: [yarv-dev:656] Re: environment in eval

 ささだです.

Yukihiro Matsumoto wrote:
> |b = binding
> |loop{
> |  print "> "
> |  ans = eval("b=binding; #{gets}")
> |  puts "ans: #{ans}
> |}
> 
> この例はよくわからなかったのですが
> 
> b = binding
> loop{
>   print "> "
>   ans = eval("#{gets}", b)
>   puts "ans: #{ans}"
> }

b = binding
loop{
  print "> "
  ans = eval("b=binding; #{gets}", b)
  puts "ans: #{ans}"
}

というプログラムでした.eval を行うごとに,毎回 binding が作られるので,
eval 実行環境の binding を次の eval で使うことで,ローカル変数なども引き
継ぐことができます.

(とするつもりなんですが,YARV で今やったら segv しました orz)

-- 
// SASADA Koichi at atdot dot net
//


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

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

       654 2005-10-05 15:42 [ko1 atdot.net       ] environment in eval                     
       655 2005-10-05 16:01 ┗[matz ruby-lang.org  ]                                       
->     656 2005-10-05 16:15  ┗[ko1 atdot.net       ]                                     
       657 2005-10-05 16:36   ┗[matz ruby-lang.org  ]                                   
       658 2005-10-05 16:48    ┗[ko1 atdot.net       ]                                 
       660 2005-10-05 17:50     ┗[matz ruby-lang.org  ]                               
       661 2005-10-05 18:03      ┗[ko1 atdot.net       ]                             
       662 2005-10-05 18:26       ┗[matz ruby-lang.org  ]                           
       663 2005-10-06 11:52        ┗[ko1 atdot.net       ]                         
       664 2005-10-07 16:45         ┗[matz ruby-lang.org  ]                       
       665 2005-10-07 17:03          ┗[ko1 atdot.net       ]                     
       666 2005-10-07 17:15           ┗[usa garbagecollect.j]                   
       667 2005-10-07 17:19            ┗[matz ruby-lang.org  ]                 
       668 2005-10-07 20:45             ┣[ko1 atdot.net       ]               
       669 2005-10-07 21:51             ┃┗[shiro lava.net      ]             
       670 2005-10-07 23:34             ┗[nobu.nokada softhome]               
       671 2005-10-08 00:40              ┗[matz ruby-lang.org  ]