On Nov 4, 7:14 am, “David A. Black” [email protected] wrote:
see that added. It doesn’t fundamentally change the expectations of
a++
It would, I think, be quite anomalous, since it would be the only case
–
The Ruby training with D. Black, G. Brown, J.McAnally
Compleat Jan 22-23, 2010, Tampa, FL
Rubyist http://www.thecompleatrubyist.com
David A. Black/Ruby Power and Light, LLC (http://www.rubypal.com)
On Nov 4, 7:14 am, “David A. Black” [email protected] wrote:
see that added. It doesn’t fundamentally change the expectations of
a++
It would, I think, be quite anomalous, since it would be the only case
(that I can think of anyway) of an assignment expression that didn’t
look and feel like an assignment expression.
I’m also not sure what problem it would be solving, other than adding
to the “make users feel at home in Ruby” effect. But I tend
to think that Ruby should move away from, not towards, doing things
for exclusively that reason.
David
Hi David,
First, Thank you for The Well-Grounded Rubyist. I study like other
pour over scriptures or the Koran. Your topics are well chose,
beautifully explicated. And Manning adding typesetting that enhanced
the your work.
I started this thread because some of your comments on page 54, e.g.
“The un-reference …” were a blemish among your excellent analyses.
The fact that Robert K., whom I also respect highly as a Rubyist,
agrees with you gives me pause.
But nevertheless, I maintain that my corrected post of today refutes
such claims as “… any object that’s represented as an immediate
value is always the same object.” Russel & Whitehead dealt with this
kind of issue perhaps a century ago when the defined the first Natural
Number, 1, as “the set of all sets that are in one-to-one
correspondence with the set containing the Null Set.” Plato dealt with
this in The Parable of the Caves" with the claim that allegedly
concrete things were merely reflections of the “real” objects.
I’m not clamoring for a Ruby implementation. I only posted my
analysis on this issue to get other people’s opinions. And I find it
hard compose a mistake free exposition, e.g. the last code lines in
yesterday evening’s post:
a = 230-1; show (a) => Got 1073741823; class = Fixnum; object_id
= 2147483647; v >> 1 = 1073741823
a = 230; show (a) => Got 1073741824; class = Bignum; object_id =
22737670; v >> 1 = 11368835
should have read:
a = 2**30-1; show (a) => Got 1073741823; class = Fixnum; object_id
= 2147483647; v >> 1 = 1073741823
show(a.pp) => Got 1073741824; class = Bignum; object_id =
22738520; v >> 1 = 11369260 # Of course, “v >> 1” is irrelevant
here
to make the point that “pp” crossed the Fixnum/Bignum boundary
smoothly.
Bottom line: Please keep up you great work! I appreciate it very
much!
Best wishes,
Richard