OK, but you have to admit that "y = 0 if false" is Dark Magic. Who is
going to understand what is going on there? An optimizing interpreter
might justifiably toss the entire statement.
No argument ... I wasn't offering it as a coding practice, but as a
demonstration that it is the presence of the "y=something" at compile
time, as opposed to the execution of the statement at runtime, that makes
the difference.
···
--
-- Jim Weirich jim@weirichhouse.org http://onestepback.org
-----------------------------------------------------------------
"Beware of bugs in the above code; I have only proved it correct,
not tried it." -- Donald Knuth (in a memo to Peter van Emde Boas)
any idea just how stable binding_of_caller is? the code looks fine - i just
wonder if it'll blow up on the next release or not... seems like such a
fantastic candidate for an RCR it's not even funny.
cheers.
-a
···
On Fri, 3 Jun 2005, Pit Capitain wrote:
Ara.T.Howard schrieb:
hmm. i guess here
def a; 'forty-two'; end
set_var 'a', 42
p a
we get the method. and here
def a; 'forty-two'; end
a = 42
p a
we get the local_variable. so in either case you get a name clash - but the sense of it is reversed with set_var.
Yes, this is what I wanted to show. "Name clash" was the wrong term.
i wonder if this is un-intuitive enough to render it useless?
Oh no, this isn't useless at all! Don't get me wrong. I only wanted to show
the difference to "normal" local variables.
--
email :: ara [dot] t [dot] howard [at] noaa [dot] gov
phone :: 303.497.6469
My religion is very simple. My religion is kindness.
--Tenzin Gyatso