[#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 nobu.nokada@softhome.net wrote:
> Hi,
>
> At Sat, 8 Feb 2003 11:30:25 +0900,
> dblack@candle.superlink.net wrote:
> > > > This has possible implications for other classes:
> > > >
> > > > candle:~/hacking/ruby$ irb --simple-prompt
> > > > >> class A < Array; end; A.new.replace([1,2,3]).class
> > > > => A
> > > > >> class A < Array; end; A.new.replace([1,2,3]).map {|x| x}.class
> > > > => Array
> > >
> > > Enumerable#map always returns Array regardless its receiver.
> >
> > Right -- I'm just wondering why the "regardless-of-receiver" principle
> > operates here but not with String#scan and others. (And with
> > Regexp#match it's the class of the argument, not the receiver, that
> > determines the return value's class.)
>
> In this case, the returned object isn't concerned with the
> receiver. Enumerable methods return Array incidentally. OTOH,
> String#[], #scan and so on return the receivers' subcomponent.
OK, but why is a subcomponent always (logically) the same class as the
original? See my Name/String example. Here's another example:
class FiveLetterWord < String
def initialize(s)
raise ArgumentError, "Wrong length word" unless s.size == 5
super
end
def vowels
scan(/[aeiou]/i)
end
end
f = FiveLetterWord.new("black")
v1 = f.vowels[0]
p v1.class # FiveLetterWord
p v1.size # 1
I guess the full OO thing to do would be to have a separate class
FiveLetterWord::Vowel. But in the absence of that, I can't help
feeling that a sub-component of FiveLetterWord should be a String.
> I also sometimes want ways to override the class of returned
> object, but it's another story.
Sounds interesting -- let's hear it :-)
David
--
David Alan Black
home: dblack@candle.superlink.net
work: blackdav@shu.edu
Web: http://pirate.shu.edu/~blackdav