[#1338] 1.8.0: possible socket problem with mswin32 builds — Jos Backus <jos@...>
Fyi: I tried the following command with two Ruby distributions on Windows 2003
5 messages
2003/08/05
[#1342] SEGV in GC under Linux — Dave Thomas <dave@...>
A while back I was getting double free()s reported on my MAC box when
5 messages
2003/08/05
[#1364] Broken REXML in Ruby 1.8 — Alexander Bokovoy <a.bokovoy@...>
Greetings!
1 message
2003/08/06
[#1378] differences between Module and Class ? — Mathieu Bouchard <matju@...>
25 messages
2003/08/11
[#1387] Re: differences between Module and Class ?
— matz@... (Yukihiro Matsumoto)
2003/08/12
Hi,
[#1442] Re: differences between Module and Class ?
— Mathieu Bouchard <matju@...>
2003/08/21
[#1452] Re: differences between Module and Class ?
— matz@... (Yukihiro Matsumoto)
2003/08/22
Hi,
[#1469] Re: differences between Module and Class ?
— Mathieu Bouchard <matju@...>
2003/08/23
[#1470] Re: differences between Module and Class ?
— matz@... (Yukihiro Matsumoto)
2003/08/24
Hi,
[#1472] Re: differences between Module and Class ?
— Mathieu Bouchard <matju@...>
2003/08/24
[#1444] Re: differences between Module and Class ?
— ts <decoux@...>
2003/08/21
>>>>> "M" == Mathieu Bouchard <matju@sympatico.ca> writes:
[#1381] proc/block with return — Mathieu Bouchard <matju@...>
9 messages
2003/08/11
[#1394] Std lib and updating PickAxe (was Re: proc/block with return) — "Gavin Sinclair" <gsinclair@...>
> [Dave wrote:]
5 messages
2003/08/13
[#1400] subclassing Structs — Eugene Scripnik <Eugene.Scripnik@...>
I'm trying to create class which behaves as struct (almost) and has some
5 messages
2003/08/13
[#1406] _id2ref bug? — Ryan Pavlik <rpav@...>
While debugging some caching code, I've come across a segfault related
22 messages
2003/08/14
[#1407] Re: _id2ref bug?
— matz@... (Yukihiro Matsumoto)
2003/08/14
Hi,
[#1413] Re: _id2ref bug? (REPRODUCED, short)
— Ryan Pavlik <rpav@...>
2003/08/14
On Fri, 15 Aug 2003 01:57:18 +0900
[#1415] Re: _id2ref bug? (REPRODUCED, short)
— matz@... (Yukihiro Matsumoto)
2003/08/15
Hi,
[#1416] Re: _id2ref bug? (another break)
— Ryan Pavlik <rpav@...>
2003/08/15
On Fri, 15 Aug 2003 09:21:39 +0900
[#1417] Re: _id2ref bug? (another break)
— nobu.nokada@...
2003/08/15
Hi,
[#1418] Re: _id2ref bug? (another break)
— Ryan Pavlik <rpav@...>
2003/08/15
On Fri, 15 Aug 2003 12:35:32 +0900
[#1424] Re: _id2ref bug? (another break)
— ts <decoux@...>
2003/08/15
>>>>> "n" == nobu nokada <nobu.nokada@softhome.net> writes:
[#1447] ruby-mode.el — Ryan Pavlik <rpav@...>
Attached is a patch for ruby-mode.el that adds font hilighting for
7 messages
2003/08/21
[#1450] Re: [PATCH] ruby-mode.el
— Ryan Pavlik <rpav@...>
2003/08/21
Crud, my mail has been slow, and I just got this back, but I realize I
[#1454] NODE_DSTR and NODE_EVSTR? — Robert Feldt <feldt@...>
How are "dynamic" strings represented internally?
7 messages
2003/08/22
Re: Extracting a parent class
From:
Mathieu Bouchard <matju@...>
Date:
2003-08-03 17:39:15 UTC
List:
ruby-core #1333
On Fri, 1 Aug 2003, Michael Garriss wrote:
> Sorry about the newbie question but....
> class A; attr_accessor :a end
> class B < A; attr_accessor :b end
> b = B.new
> b.a = "some data"
> b.b = "some more data"
> a = b.?????
> How do I set 'a' from 'b' so that a is of class A and not class B? I
> don't want the extra info, I want just the subset of members found in
> the parent class. Is there a way to cast?
Like most other OO languages, the class of an object is a property of the
object [1] and not of the pointer [2] or of the variable that holds the
pointer [3].
C++ is the only language I know that allows to see an object thru the lens
of its parent classes, but that's usually considered as a consequence of
other things in C++, not so much a feature by itself.
In Ruby, variables don't have classes at all. If you want variable 'a' to
point to an object of class A (such that a.class==A), you have to do:
a = A.new
a.a = b.a
but then 'a' points to a different object than 'b', not a subpart.
(However the string object "some data" is shared between the two.)
If you want to make copying automatic, it is possible to get a list of all
existing accessors for an object like this:
class A
attr_accessor :a,:b,:c
def self.get_accessor_list
list=[]
instance_methods(true).each {|m| list<<$1 if /(\w+)=$/ =~ m.to_s }
list
end
end
A.get_accessor_list
#==> ["b", "a", "c"]
... and then you can use that to automatically find out what to copy from
one object to another; but maybe copying isn't necessarily what you want,
I don't know.
________________________________________________________________
Mathieu Bouchard http://artengine.ca/matju