From: nobu@... Date: 2019-06-25T07:20:32+00:00 Subject: [ruby-core:93355] [Ruby trunk Bug#13337] Eval and Later Defined Local Variables Issue #13337 has been updated by nobu (Nobuyoshi Nakada). jeremyevans0 (Jeremy Evans) wrote: > Attached is a documentation patch. Seems fine. A question: > However, local variables set inside the call to +eval+ will not be reflected in the surrounding scope. Isn't "set" vague a little, between "defined" an "assigned"? ---------------------------------------- Bug #13337: Eval and Later Defined Local Variables https://bugs.ruby-lang.org/issues/13337#change-78865 * Author: faraz (Faraz Yashar) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: 2.4.0 * Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN ---------------------------------------- I've noticed the following behavior with eval: ~~~ ruby def example eval("foo") # => nil, but would expect a NameError eval("bar") # => NameError foo = 1 end ~~~ I'm assuming this behavior is expected, since "eval" executes in the context of the existing YARV instructions and local table, but I'm not certain since I haven't seen this behavior documented anywhere. ---Files-------------------------------- doc-eval-local-var.patch (1.63 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: