나는 종종 Enumerable에서 subpart를 꺼내기를 원합니다. subpart는 때로는 원래 Enumerable 인스턴스의 시작과 끝 부분에 있으며 때로는 subpart를 지정하는 데 사용되는 길이가 때로는 subpart의 경우와 때로는 그 보완 요소입니다. 그것은 네 가지 가능성을 제공하지만, 나는 세 가지 방법 만 알고 있습니다. 네 번째 방법은 있습니까?Enumerable에서 subpart 가져 오기
1 ) 도착 제 n
요소 :
[1, 2, 3, 4, 5].first(3) # => [1, 2, 3] or
[1, 2, 3, 4, 5].take(3) # => [1, 2, 3]
2) 삭제 제 n
요소 :
[1, 2, 3, 4, 5].drop(3) #=> [4, 5]
3) 도착 마지막 n
요소 :
[1, 2, 3, 4, 5].last(3) #=> [3, 4, 5]
4) 마지막으로 떨어지는,393,210 요소 :
[1, 2, 3, 4, 5].some_method(3) #=> [1, 2]
내가 아는 한. 나는 실제로 그 두어 시간을 필요로했다. 나는 reverse.drop (n) .reverse에 의지했다. 그것은 역경과 시간 모두에서 끔찍한 결과를 낸다. –
@ Jörg, 나는 단지 "irb"에서 놀고 있었고, "나는 reverse.drop.reverse'에 머물러 있지 않을 것입니다." 나는 우리가 붙어있는 것 같아요. 나는'array [0 .. (array.size - (n + 1))] '이 너무 추한 것 같지 않습니까? – Telemachus
@Telemachus : 내 대답과 마찬가지로 음의 상한선을 사용할 수 있습니다. –