[#796] Re: value of assignment (Re: Order of the value of an expression changed? (PR#579)) — Sean Chittenden <sean@...>

> sean@chittenden.org wrote:

33 messages 2003/02/06
[#798] Re: value of assignment (Re: Order of the value of an expression changed? (PR#579)) — matz@... (Yukihiro Matsumoto) 2003/02/06

Hi,

[#826] Re: value of assignment (Re: Order of the value of an expression changed? (PR#579)) — Sean Chittenden <sean@...> 2003/02/10

> |I have read the thread and I think this is a pretty bad change. I

[#827] Re: value of assignment (Re: Order of the value of an expression changed? (PR#579)) — nobu.nokada@... 2003/02/10

Hi,

[#828] Re: value of assignment (Re: Order of the value of an expression changed? (PR#579)) — Sean Chittenden <sean@...> 2003/02/11

> > #BEGIN test.rb

[#829] Re: value of assignment (Re: Order of the value of an expression changed? (PR#579)) — matz@... (Yukihiro Matsumoto) 2003/02/11

Hi,

[#830] Re: value of assignment (Re: Order of the value of an expression changed? (PR#579)) — Sean Chittenden <sean@...> 2003/02/11

> |What was wrong with having the receiver set the return value though?

[#834] Re: value of assignment (Re: Order of the value of an expression changed? (PR#579)) — Matt Armstrong <matt@...> 2003/02/11

Sean Chittenden <sean@chittenden.org> writes:

[#835] Re: value of assignment (Re: Order of the value of an expression changed? (PR#579)) — Sean Chittenden <sean@...> 2003/02/11

> > f = Foo.new()

[#801] class of $1, $2 in 1.8.0 — dblack@...

Hi --

31 messages 2003/02/07
[#802] Re: class of $1, $2 in 1.8.0 — nobu.nokada@... 2003/02/07

Hi,

[#803] Re: class of $1, $2 in 1.8.0 — dblack@... 2003/02/07

Hi --

[#804] Re: class of $1, $2 in 1.8.0 — matz@... (Yukihiro Matsumoto) 2003/02/07

Hi,

[#805] Re: class of $1, $2 in 1.8.0 — dblack@... 2003/02/07

Hi --

[#806] Re: class of $1, $2 in 1.8.0 — "J.Herre" <jlst@...> 2003/02/07

[#807] Re: class of $1, $2 in 1.8.0 — Matt Armstrong <matt@...> 2003/02/07

J.Herre <jlst@gettysgroup.com> writes:

[#808] Re: class of $1, $2 in 1.8.0 — dblack@... 2003/02/07

Hi --

[#809] Re: class of $1, $2 in 1.8.0 — Ryan Pavlik <rpav@...> 2003/02/07

On Sat, 8 Feb 2003 06:52:17 +0900

[#810] Re: class of $1, $2 in 1.8.0 — dblack@... 2003/02/07

Hi --

[#889] Bob Jenkins' hashing implementation in Ruby — Mauricio Fern疣dez <batsman.geo@...>

16 messages 2003/02/28
[#892] Re: Bob Jenkins' hashing implementation in Ruby — ts <decoux@...> 2003/03/01

>>>>> "M" == Mauricio Fern疣dez <Mauricio> writes:

[#893] Re: Bob Jenkins' hashing implementation in Ruby — Mauricio Fern疣dez <batsman.geo@...> 2003/03/01

On Sat, Mar 01, 2003 at 08:42:40PM +0900, ts wrote:

Re: class of $1, $2 in 1.8.0

From: Mathieu Bouchard <matju@...>
Date: 2003-02-12 07:44:48 UTC
List: ruby-core #861
On Sat, 8 Feb 2003 dblack@candle.superlink.net wrote:

> Even if the new class is specialized, substrings of it may not be
> similarly specialized -- in which case, it's misleading to have them
> be instances of the new class.  For example:
>   class Name < String
>     def initial
>       scan(/[A-Z]/)[0]
>     end
>   end
>   n = Name.new("David")
>   i = n.initial          # String in 1.6.8, Name in 1.8.0
> Here, it doesn't seem logical (to me) for an initial to be a Name
> object.  (Yes, I could have done self[0].chr, but I need to illustrate
> this :-)

To me, it doesn't seem logical for the Name class to exist; a Name may be
"a kind of" String, but that doesn't mean it should be a subclass it...
here are a few ideas i've been cooking lately about software modeling (an 
extension of my rants :-} about type checking):

What may appear like a subclass could actually be:

1. a mere "subtype", where "type" here means a set of expectations you
have about an object; for example, you may expect that the object matches
a certain Regexp.

2. a "use", as in, a set of (representational) meanings; at this level of
abstraction you'd distinguish Name from Title from
RGBPictureInTheShapeOfAString.

3. a "role", as in, a place in a relationship, a field in an object. This
would distinguish the main Title of a book from its alternate Title.

whereas:

0. a "subclass" adds behaviour (and/or fields in languages that require
their declaration) to a class, as a separate entity from the superclass,
but dependent on the superclass.



Which makes me doubt whether the example you are giving is applicable in
real programs (or: whether it is good practice to apply it), and in turn,
whether your point is valid.



(PS: and similarly anything involving Circle<Ellipse, unless a situation
is given in which a Circle subclass makes sense)

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


In This Thread