[#796] Re: value of assignment (Re: Order of the value of an expression changed? (PR#579)) — Sean Chittenden <sean@...>
> sean@chittenden.org 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 <sean@chittenden.org> writes:
> > f = Foo.new()
>>>>> "J" == J Herre <jlst@gettysgroup.com> 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 <jlst@gettysgroup.com> writes:
Hi --
On Sat, 8 Feb 2003 06:52:17 +0900
Hi --
On Friday, February 7, 2003, at 03:15 PM, dblack@candle.superlink.net
[#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: class of $1, $2 in 1.8.0
On Sat, 8 Feb 2003 06:52:17 +0900
dblack@candle.superlink.net wrote:
<snip>
> > > changing the semantics of well-known methods in subclasses) than
> > > for backing out this change.
>
> There's no way to define "well-known" robustly in that context,
> though. Also, even if the semantics weren't changed (I assume you
> mean the argument count), presumably the overridden version would do
> something different from the String version, so this 1.8.0 shift would
> still have an impact.
<snip>
I would bring up some points here:
* There shouldn't be a reason to define "well-known"... as a
general principle, semantics should either 1) not change,
2) extend only, or 3) the error is correct behavior. That is:
1) Changing semantics is questionable whether you're a fan
of "duck typing" or not: changing semantics means your
duck doesn't quack anymore.
2) New semantics can be appended to the old ones:
def to_i(number = nil); ... end
3) If your semantics _do_ change, the error is actually
correct by definition: you're trying to do something
that's not allowed. I'll bring up the Circle < Ellipse
example here; if you change the semantics of
Circle#setRadius to accept either (x, y; where x == y) or
(x), then there _is_ an error when you use (x, y; x != y).
Code should be smarter and take errors like this in
stride.
* This example isn't complete, and seems slightly contrived to
me... the code in question should be aware at the point of code
that the behavior is different. What does the to_i parameter do?
(Radix? You can default that. ;)
* Changing a method to do something illogical is possible but
questionable. That is, you could make MyString#to_i print the
string with a formatting parameter, but why would you do this?
Conventions are a _good_ thing... breaking them limits
predictability, which defeats the point of code in the first
place.
--
Ryan Pavlik <rpav@users.sf.net>
"Are there no depths that you won't sink to?
- We won't know 'till we get there!" - 8BT