Project

General

Profile

Feature #4541

Updated by nobu (Nobuyoshi Nakada) almost 2 years ago

=begin
Array `slice`/`[]` slice/[] method is a bit inconsistent. Is it just poorly documented "feature" or a bug? In API doc I can't find this behaviour mentioned as a "special case".

```ruby


def test_array_slice
array = ['a', 'b', 'c']
assert_equal nil, array[3]
assert_eaual nil, array[4]

assert_eaual [], array[3, 0] #
assert_equal nil, array[4, 0] # [] expected (or both nils in array[3, 0] and array[4, 0])

assert_equal ['c'], array[2..2]
assert_equal [], array[3..3] #
assert_equal nil, array[4..4] # [] expected (or both nils in array[3..3] and array[4..4])
end
```


Same behaviour can be reproduced on ruby 1.8.7 (2010-12-23 patchlevel 330) [x86_64-linux].


=end

Back