[#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
Hi --
On Sat, 8 Feb 2003, Yukihiro Matsumoto wrote:
> Hi,
>
> In message "Re: class of $1, $2 in 1.8.0"
> on 03/02/07, dblack@candle.superlink.net <dblack@candle.superlink.net> writes:
>
> |Doesn't that kind of cascading (i.e., subclassing and overriding) take
> |place all the time? It seems very natural to me. Also, until 1.8.0
> |this wasn't a problem; it's only now that the class of the objects has
> |changed. I'm still not sure what the reason is for the change. It
> |can't be just to catch people like me who override methods :-)
>
> Could you describe your error with concrete code?
Sure. I'll give a simplified (but working) example, so as to avoid
the whole underlying scanf architecture:
class SpecializedString < String
def to_i(s)
# specialized overriding of to_i
end
end
s = SpecializedString.new("12345")
m = /(\d\d)/.match(s)
n = m[1].to_i
p n * 10
With 1.6.8:
120
With 1.8.0:
matches.rb:22:in `to_i': wrong number of arguments(0 for 1)
(ArgumentError)
(because m[1] is a SpecializedString object, so the specialized to_i
gets called).
Note also that if the implementation of SpecializedString changes,
then the behavior of #match also changes:
class SpecializedString
def initialize(s)
@string = s
end
def to_str
@string
end
end
Now String#to_i gets called in 1.8.0 as well as 1.6.8.
My thinking is: if $1,$2... are canonicalized to String, the behavior
wouldn't change, and a new SpecializedString can always be created
from a String.
David
--
David Alan Black
home: dblack@candle.superlink.net
work: blackdav@shu.edu
Web: http://pirate.shu.edu/~blackdav