가능한 중복 :왜 Ruby 배열에서 유효 범위 색인에 액세스 할 수 있습니까?
def test_slicing_arrays array = [:peanut, :butter, :and, :jelly] assert_equal _, array[0,1] assert_equal _, array[0,2] assert_equal _, array[2,2] assert_equal _, array[2,20] assert_equal _, array[4,0] assert_equal _, array[4,100] assert_equal _, array[5,0] end
당신은 올바른 문으로 _ 입력해야합니다 : 루비 화두 중 하나에서
Array slicing in Ruby: looking for explanation for illogical behaviour (taken from Rubykoans.com)
는 다음과 같은 문제가있다. 첫 번째 네 가지 주장은 내가 어떻게 기대할지를 보여 주지만, 나는 마지막 세 가지를 혼동합니다.
array[4,0]
은 array[4,100]
과 마찬가지로 []
을 제공합니다. 이 시점에서 배열 밖의 범위 (이 경우 3보다 큼)는 단순히 빈 배열을 반환한다는 것을 알았습니다.
그러나 array[5,0]
은 nil
을 반환하므로 완전히 혼란 스럽습니다.
누구든지이 동작을 설명 할 수 있습니까?
참조 http://stackoverflow.com/questions/3568222/array-slicing-in-ruby-looking- for-explanation-for-illogical-behaviour-taken-fr – nimrodm
소원 나는 검색 할 때 그 질문을 발견했다 - 고마워. – Martin
질문을 입력했을 때 stackoverflow가 제공 한 관련 질문 목록에서 두 번째로 나왔습니다 (페이지의 오른쪽 사이드 바 참고). 어쨌든 제가 도와 드릴 수있어서 기쁩니다 : – nimrodm