2017-02-24 1 views
0

는이각각과 with_index를 연결할 수 있습니까?

array.each_with_index { ... } 

같은 each와 함께 with_index을 연결하지 않는 것이 바람직 아니면 연결을 완벽하게 수용?

array.each.with_index { ... } 
+1

HTTP//stackoverflow.com/questions/20258086/difference-between-each-with-index-and-each-with-index-in-ruby –

+2

[Enumerator # with_index] (http://ruby-doc.org/core -2.3.0/Enumerator.html # method-i-with_index) ([Enumerable # each_with_index]와 다릅니다 (http://ruby-doc.org/core-2.3.0/Enumerable.html#method-i-ea ch_with_index))는 첫 번째 인덱스와 동일한 선택적 인수를 취합니다 (기본값은 0입니다). 따라서 인덱스 생성을 '1'에서 시작하고 싶다면'.each_with_index'가 아닌'.each.with_index (1)'을 쓸 수 있습니다. 'i'가 블록 변수 인 경우, 블록 내에서'i + 1'을 쓸 필요가 없습니다. –

답변

3

이 두 형식은 모두 정확하며 올바르게 작동합니다. 그러나 나열된 경우 첫 번째 양식이이 작업을 위해 만들어진 메서드를 사용하기 때문에 선호됩니다.

번째 형태는 통상 코드의 바보 비트와 같이 인덱스 옵션으로없는 방법에 예약되어야

:

['a', 'b', 'c', 'd'].select.with_index {|_d, i| (i%2)==0} 

출력으로서 가지고

["a", "c"] 
관련 문제