2011-09-24 6 views
1

나는 당연 할 새로운 그리고 난 그것을대표 같은 미리 정의 된
끝내 변수의 전체 목록을 찾을 수있는 내가 궁금하네요 목록?미리 정의 된 그루비 변수

내가 예를 들어,
현재 메소드가 호출 된 위치에서 개체에 대한 참조를위한 사전 정의 된 키워드가있는 경우입니다에 관심 특정 일 : 등의 사용으로

5.times { print 5 - it} 

5.times { print *keyword* - it } 

그래서 질문은이 사용되어야 키워드 무엇이다 : 그것은 같은 것을해야 키워드에?

P.S : 다른 예 :

MyObject myObject = new myObject(); 
myObject.getField(); // MyObject has method named getField 
myObject.doJob ({ 
    ... 
    ((MyObject)*keyword*).getField(); // instead of myObject.getField(); 
    ... 
}) 

답변

4

도움 객체 수준의 키워드와 유사 특성을합니다

int number = 5 
number.times { print number - it } 

희망이 문서는 정말 좋은 것입니다 : http://marxsoftware.blogspot.com/2011/09/groovys-special-words.html

당신이 당신의 예에서 doJob 방법을 제어 할 수있는 경우에, 당신은 폐쇄의 delegate 설정해야합니다

def doJob(Closure closure) { 
    closure.delegate = this 
    closure.resolveStrategy = Closure.DELEGATE_FIRST 
    // loop or whatever 
    closure() 
} 

지금, 당신의 폐쇄에, 당신과 같이 직접 부모 개체의 모든 속성을 참조 할 수 있습니다 :

myObject.doJob ({ 
    ... 
    getField() 
    ... 
}) 

Groovy Closures - Implicit Variables.

실제로
1

이 요구하고 있습니까? 이 (당신이 생각하는 것보다 적은 수 있습니다) 모든 실제 키워드의 좋은 목록은 당신에게

+0

아니지만, 어쨌든 덕분에 – tsds

+0

내 질문의 예는 단순화, 그것은 그래서 좋아,이 특정 예제에 대한 제안을 할 수 있지만 내 질문에 쓴 문을 정확하게 수행하는 키워드가 필요합니다. – tsds

+0

아마도 미리 정의 된 변수가 없습니다. 그러나 하나를 찾으려고합니다. – tsds

관련 문제