Strange ruby-1.9.1 array substitution answer

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]

···

--
Posted via http://www.ruby-forum.com/.

Michel Demazure 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

···

--
Posted via http://www.ruby-forum.com/\.

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

···

On Thu, May 28, 2009 at 2:06 PM, Michel Demazure <michel@demazure.com>wrote:
--
My startup: http://ThinkCode.TV
Zen and the Art of Programming: http://AntonioCangiano.com
Aperiodico di resistenza informatica: http://StackTrace.it
Author of "Ruby on Rails for Microsoft Developers": http://bit.ly/rorforms

Hi,

···

In message "Re: Strange ruby-1.9.1 array substitution answer" on Fri, 29 May 2009 03:06:18 +0900, Michel Demazure <michel@demazure.com> 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.

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

···

--
Posted via http://www.ruby-forum.com/\.

Yukihiro Matsumoto 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.

···

--
Posted via http://www.ruby-forum.com/\.

Roger Pack 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.

···

--
Posted via http://www.ruby-forum.com/\.