[#3726] Fixnum#clone and Float#clone raise different exceptions — "David A. Black" <dblack@...>

Hi --

15 messages 2004/11/12
[#3749] Re: Fixnum#clone and Float#clone raise different exceptions — "David A. Black" <dblack@...> 2004/11/16

Hi --

[#3751] Re: Fixnum#clone and Float#clone raise different exceptions — Yukihiro Matsumoto <matz@...> 2004/11/16

Hi,

[#3752] Re: Fixnum#clone and Float#clone raise different exceptions — "David A. Black" <dblack@...> 2004/11/16

Hi --

[#3785] The latest 1.8.2 cvs prints parse error when starting extension compiling — Yukihiro Matsumoto <matz@...>

Hi,

13 messages 2004/11/23
[#3787] Re: The latest 1.8.2 cvs prints parse error when starting extension compiling — Johan Holmberg <holmberg@...> 2004/11/23

Re: Fixnum#clone and Float#clone raise different exceptions

From: Gavin Sinclair <gsinclair@...>
Date: 2004-11-26 01:19:50 UTC
List: ruby-core #3827
On Friday, November 26, 2004, 10:47:02 AM, Yukihiro wrote:

> Hi,

> In message "Re: Fixnum#clone and Float#clone raise different exceptions"
>     on Thu, 25 Nov 2004 22:49:20 +0900, Gavin Sinclair
> <gsinclair@soyabean.com.au> writes:

|4.clone ->> 4 sounds better to me, but I must be missing something.

> Do you accept the following behavior?

>   a = 4
>   a.instance_eval{@a=5}
>   b = a.clone           # b = 4
>   b.instance_eval{@a=10}
>   a.instance_eval{@a}   # @a = 10

> Similar thing can happen for a Float and singleton methods.

Yes, I do accept that behaviour, because setting instance variables of
a number is very esoteric.  But I realise it could cause some people
to come to grief :)

Thanks for pointing it out.

Could immediate objects adopt copy-on-write semantics?  Such that it's
possible to clone 4 and have two separate objects when needed (e.g.
for instance variables), but optimised for the common case?

Gavin



In This Thread