Forum: Ruby Strange ruby-1.9.1 array substitution answer

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Michel D. (Guest)
on 2009-05-28 22:06
Strange !

arr = [1,2,3,4,5]
arr[0,2] = nil
=> ruby 1.8 : arr = [3,4,5]
=> ruby 1.9 : arr = [nil, 3,4,5]

ruby -v
ruby 1.9.1 (2008-10-28 revision 19983) [i386-mswin32]
Roger P. (Guest)
on 2009-05-28 22:28
Michel D. wrote:
> Strange !
>
> arr = [1,2,3,4,5]
> arr[0,2] = nil
> => ruby 1.8 : arr = [3,4,5]
> => ruby 1.9 : arr = [nil, 3,4,5]

that might be a bugI'd ask the core people.
-=r
Antonio C. (Guest)
on 2009-05-28 22:32
(Received via mailing list)
On Thu, May 28, 2009 at 2:06 PM, Michel D.
<removed_email_address@domain.invalid>wrote:

> Strange !
>
> arr = [1,2,3,4,5]
> arr[0,2] = nil
> => ruby 1.8 : arr = [3,4,5]
> => ruby 1.9 : arr = [nil, 3,4,5]
>
> ruby -v
> ruby 1.9.1 (2008-10-28 revision 19983) [i386-mswin32]


It's a bug. They either fixed it in a more recent version or it's a
Windows
specific issue. On my Mac it works as expected:

$ ruby1.9 -v
ruby 1.9.1p0 (2009-01-30 revision 21907) [i386-darwin9]

$ irb
>> arr = [1,2,3,4,5]
=> [1, 2, 3, 4, 5]
>> arr[0,2] = nil
=> nil
>> arr
=> [3, 4, 5]

Cheers,
Antonio
Roger P. (Guest)
on 2009-05-28 22:43
> It's a bug. They either fixed it in a more recent version or it's a
> Windows
> specific issue. On my Mac it works as expected:
>
> $ ruby1.9 -v
> ruby 1.9.1p0 (2009-01-30 revision 21907) [i386-darwin9]
>
> $ irb
>>> arr = [1,2,3,4,5]
> => [1, 2, 3, 4, 5]
>>> arr[0,2] = nil
> => nil
>>> arr
> => [3, 4, 5]


Here's what I get in Linux with TRUNK.
>> RUBY_DESCRIPTION
=> "ruby 1.9.2dev (2009-05-28 trunk 23601) [i686-linux]"
>> arr = [1,2,3,4,5]
=> [1, 2, 3, 4, 5]
>> arr[0,2] = nil
=> nil
>> arr
=> [nil, 3, 4, 5]

maybe macs are special? "Guess we're not cool enough" (from commercial).
Just kidding.
Take care.
-=r
Michel D. (Guest)
on 2009-05-28 23:00
Roger P. wrote:
>
>> It's a bug. They either fixed it in a more recent version or it's a
>> Windows
>> specific issue. On my Mac it works as expected:

> Here's what I get in Linux with TRUNK.

> maybe macs are special? "Guess we're not cool enough" (from commercial).
> Just kidding.
> Take care.
> -=r

Open source ... and many open ends
M.
Yukihiro M. (Guest)
on 2009-05-29 02:22
(Received via mailing list)
Hi,

In message "Re: Strange ruby-1.9.1 array substitution answer"
    on Fri, 29 May 2009 03:06:18 +0900, Michel D.
<removed_email_address@domain.invalid> writes:

|Strange !
|
|arr = [1,2,3,4,5]
|arr[0,2] = nil
|=> ruby 1.8 : arr = [3,4,5]
|=> ruby 1.9 : arr = [nil, 3,4,5]

It's a behavior change in 1.9, use

arr[0,2] = []

instead.

              matz.
Michel D. (Guest)
on 2009-05-29 09:58
Yukihiro M. wrote:
>
> It's a behavior change in 1.9, use
>
> arr[0,2] = []
>
> instead.
>
>               matz.

Thanks, Matz.
It is exactly what I did.
I was not aware of the change ... or I forgot.

M.
This topic is locked and can not be replied to.