Talk:Runtime evaluation/In an environment: Difference between revisions

m
(reply)
 
(5 intermediate revisions by 2 users not shown)
Line 12:
 
x should not be global in the sense that the values given to it are visible to code ''other'' than the code being evaluated. In the Perl example, the variable is made local (lexical) by <code>my</code>; in the PHP example I (perhaps mistakenly) assumed that an undeclared variable is global. If that is wrong, please delete the flag on the PHP example. --[[User:Kevin Reid|Kevin Reid]] 02:01, 30 April 2009 (UTC)
 
Oh, I just saw your changes. The Octave example is now correct (and I like the variety of using a list/vector), but the Tcl example was better in the previous version -- the problem with it then was that the proc eval_twice should specifically bind the variable name x, not call a function with an arbitrary local variable name. --[[User:Kevin Reid|Kevin Reid]] 02:21, 30 April 2009 (UTC)
 
: Sorry but I can't understand why (maybe my Tcl is not so strong). Isn't it the same of PHP, Perl, Python, Ruby....? (I.e.: using a function). The only difference, is that it explicitly says which is the "dummy" var (the lambda var or how we want to call it). Maybe the example is more similar to the second Lisp example, since that is the way in Tcl to express a lambda expression (as far as I know/understand; going to find more about right now). --[[User:ShinTakezou|ShinTakezou]] 10:26, 30 April 2009 (UTC)
: (Modified now in order to resemble to other examples) --[[User:ShinTakezou|ShinTakezou]] 10:40, 30 April 2009 (UTC)
 
Yes, your new change to Tcl looks like what I had in mind. Is x a global variable, though?
 
Thanks for putting up with my requirements fiddling. --[[User:Kevin Reid|Kevin Reid]] 10:55, 30 April 2009 (UTC)
 
: No, it isn't global, it is local to the proc (to be sure, I've tested it adding a <code>set x 678</code> before the puts, and a <code>puts $x</code> after the puts; the value of x remain unchanged). --[[User:ShinTakezou|ShinTakezou]] 12:29, 30 April 2009 (UTC)
Anonymous user