[#796] Re: value of assignment (Re: Order of the value of an expression changed? (PR#579)) — Sean Chittenden <sean@...>
> [email protected] wrote:
Hi,
> |I have read the thread and I think this is a pretty bad change. I
Hi,
> > #BEGIN test.rb
Hi,
Hi --
Hi,
Hi --
Hi,
Hi,
Hi,
what about if attr_accessor :foo defined three methods - #foo, #foo=, and
> |What was wrong with having the receiver set the return value though?
Sean Chittenden <[email protected]> writes:
> > f = Foo.new()
>>>>> "J" == J Herre <[email protected]> writes:
On 11 Feb 2003 at 11:13, Sean Chittenden wrote:
[#801] class of $1, $2 in 1.8.0 — dblack@...
Hi --
Hi,
Hi --
Hi,
Hi --
J.Herre <[email protected]> writes:
Hi --
On Sat, 8 Feb 2003 06:52:17 +0900
Hi --
On Friday, February 7, 2003, at 03:15 PM, [email protected]
[#851] Alternate GC ? — Mathieu Bouchard <matju@...>
[#875] OpenSSL for Ruby 0.2.0-pre0 — Michal Rokos <michal@...>
Hi everybody!
[#889] Bob Jenkins' hashing implementation in Ruby — Mauricio Fern疣dez <batsman.geo@...>
>>>>> "M" == Mauricio Fern疣dez <Mauricio> writes:
On Sat, Mar 01, 2003 at 08:42:40PM +0900, ts wrote:
>>>>> "M" == Mauricio Fern疣dez <Mauricio> writes:
On Sat, Mar 01, 2003 at 10:03:47PM +0900, ts wrote:
>>>>> "M" == Mauricio Fern疣dez <Mauricio> writes:
On Sat, Mar 01, 2003 at 10:10:35PM +0900, ts wrote:
Hi,
[#890] String and (repost) MemLeak — Michal Rokos <michal@...>
Hi,
Hi,
Hi,
Hi,
Hi,
Re: value of assignment (Re: Order of the value of an expression changed? (PR#579))
> > f = Foo.new() > > i = f.a = 42 # i == 42 > > i = f.b = 42 # i == 42 (now it's 42, but should be 28) > > What is in debate is "should be 28". I expect: > > i = f.b = 42 That precludes a module from altering the return value though. If you're doing: i = f.b = 42 and the Foo authors intentionally changed the return value, as the author of Foo, I would be ticked that the return value that I am using isn't being honored and is instead being overridden by the parser. > to be the same as: > > f.b = 42 > i = 42 Egads! Really? That breaks from what the OO paradigm provides you with. Try this on for size. Things used to be this way: i=(f.b=(42)) But now they're like this: f.b=(42) && i=(42) Which is a fundamental shift away from operators as methods and why I'm kinda up in arms about this philosophical change. In an OO world, I expect i=(f.b=(42)). Return values are pushed onto the stack and then popped off by the subsequent function allowing functions to be nested and their return values used as arguments. -sc -- Sean Chittenden