Hi,

In message "[ruby-talk:13812] Re: local vars in case"
    on 01/04/19, ts <decoux / moulon.inra.fr> writes:

| When it find :
|
|		print "a: #{a}\n"	# Name Error
|
| it will the first time compile the part between #{}. Because for this
|iteration a was never assigned, it don't exist and ruby resolve it as a
|function call. This is why it give an error.

That's what's happening.

But I feel it's a bug, or at most misfeature.  eval() should execute
as if the evaluating string is embedded in the code, so that the error
in this case is not what I expect.  But I found it's pretty hard to
fix.  It will remain as it is until I reimplement the core in the
future version.  Sorry.

							matz.