Project

General

Profile

Feature #4541

Updated by nobu (Nobuyoshi Nakada) over 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