[MacRuby-devel] eval() Behavior Difference Between Ruby and MacRuby

Matt Aimonetti mattaimonetti at gmail.com
Thu Mar 8 11:47:38 PST 2012


It's actually a difference between Ruby 1.8 and 1.9, see the same code with
1.9.3:

$ irb
1.9.3p125 :001 > eval "f=12"
 => 12
1.9.3p125 :002 > f
NameError: undefined local variable or method `f' for main:Object
from (irb):2
from /Users/mattetti/.rvm/rubies/ruby-1.9.3-p125/bin/irb:16:in `<main>'

- Matt


On Thu, Mar 8, 2012 at 7:14 PM, Braxton Sherouse <
sherouse at email.virginia.edu> wrote:

> Hello, all. I'm new to the list (and to MacRuby!), so I give my
> apologies in advance for any newbie indiscretions.
>
> I was working today with MacRuby as a scripting language within a
> Cocoa app, and found a difference between how Ruby and MacRuby's eval
> functions relate to their calling context.
>
> Here's a reduction:
>
> % irb --version
> irb 0.9.5(05/04/13)
>
> % irb
> >> eval("f = 12")
> => 12
> >> f
> => 12
>
> % macirb --version
> DietRB (0.6.1)
>
> % macirb
> irb(main):001:0> eval("f = 12")
> => 12
> irb(main):002:0> f
> NameError: undefined local variable or method `f' for main:TopLevel
>
>
> I'm sure I'm missing something super basic. I followed a number of
> false leads in trying to figure this out before emailing the list,
> including checking out the $SAFE global (0 in both cases), and
> constructing Bindings to the calling context (same result).
>
> Thanks in advance for your patience and your help!
>
> Best,
> Braxton Sherouse
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-devel/attachments/20120308/b885a1c5/attachment.html>


More information about the MacRuby-devel mailing list