4
Groovy에 안전한 범위 연산자가 있습니까? 예를 들어 Groovy의 안전한 범위 연산자?
나는 경우
,[1,2,3][0..10]
그루비 던질 것 java.lang.IndexOutOfBoundsException:
Groovy에 안전한 범위 연산자가 있습니까? 예를 들어 Groovy의 안전한 범위 연산자?
나는 경우
,[1,2,3][0..10]
그루비 던질 것 java.lang.IndexOutOfBoundsException:
컬렉션에 너무 적은이 있다면 당신은 오류없이 당신이 항목의 특정 숫자까지 걸릴 수 있습니다 take(n)
을 사용할 수 있습니다 :
def input = [1,2,3]
def result = input.take(10)
assert result == [1,2,3]
input = [1,2,3,4,5]
result = input.take(4)
assert result == [1,2,3,4]
는 오프셋, 당신이 할 수있는 시작해야하는 경우
def input = [1,2,3,4,5]
def result = input.drop(2).take(2)
assert result == [3,4]
이 두 컬렉션의 크기에 대한 안전 : 하지 원래 모음을 수정할 않는, drop(n)
사용합니다. 마지막 예제에서 목록이 너무 작 으면 컬렉션에 하나 또는 하나의 항목 만있을 수 있습니다.
나는이 방법들이 Groovy 1.8.1 – OverZealous
+1에 추가되었다는 것을 잊어 버렸다. 또한 :'def result = input.drop 2 take 2' – Will