On Wed, 12 Feb 2003, Pit Capitain wrote:

> I expect that
>   obj.attr == value
> and the return value of
>   obj.attr = value
> to be the same as
>   obj.attr (after the assignment)
> so the new behavior just feels right.

# if out-of-range, auto-adjusts percent to closest valid value
def quality=percent
  @percent = [[percent,0].max,100].min
end

According to the old behaviour, this quite reasonable piece of code makes
(o.quality=x)==o.quality always true, but according to the new behaviour,
it's no longer the case.

(remark: in #==, left side is evaluated first, so (o.x=a)==o.x compares
the return value with new value, but o.x==(o.x=a) compares the return
value with the old value)

________________________________________________________________
Mathieu Bouchard                       http://artengine.ca/matju