1
의 결합을 주장 오류그루비 키워드 인수
def foo(a,b,c='awesome',d=null) {
assert d
}
foo(1,2,d='bar')
가 왜 오류를 줄 않습니다 생산합니다 다음 코드? 키워드 할당이 작동하지 않는 이유는 무엇입니까? 파이썬 키워드 인수와 매우 다른 점을 발견했습니다.
의 결합을 주장 오류그루비 키워드 인수
def foo(a,b,c='awesome',d=null) {
assert d
}
foo(1,2,d='bar')
가 왜 오류를 줄 않습니다 생산합니다 다음 코드? 키워드 할당이 작동하지 않는 이유는 무엇입니까? 파이썬 키워드 인수와 매우 다른 점을 발견했습니다.
Groovy는 키워드 인수를 python과 완전히 동일하게 취급하지 않습니다.
먼저 구문은 맵과 유사합니다. 대신
foo(1,2,d='bar')
당신이
foo(1,2,d:'bar')
둘째가 필요 그루비 이름으로 키워드 인수를 매핑 할 수 없습니다. 그루비에서 이러한 목표를 달성하기위한 방법은 맵으로 키워드 인수를 허용하는 것입니다 :이 여기에 얼마나 멋있는 핸들에
def foo(Map kwargs, a, b, c='awesome') { [a,b,c,kwargs.d] }
assert foo(1,2,d:'bar') == [1,2,'awesome','bar']
자세한 내용 : http://groovy.codehaus.org/Extended+Guide+to+Method+Signatures.