은, 하나는 methodMissing()
/propertyMissing()
을 구현 할 수있다. 따라서 변수 나 메소드가 실제로 존재하지는 않지만 실제로 프로그램이 실행되기 전에는 오류가 아닐 수도 있습니다. 이러한 오류는 일반적으로 런타임에만 감지 할 수 있으므로 IDE는 일반적으로 불만을 제기하지 않습니다.
당신을 암시하기는하지만, 이클립스는 정적으로 참조 할 수없는 변수들을 밑줄 치고 있습니다.
편집 :
바로 아래의 방법 테스트를 확인, 코드 예제로 개념을 설명합니다. 이제 IDE는 something
, that
...이 클래스의 메소드가 될 수 있다는 것을 알 수 없습니다.
이것은 groovy에서 DSL을 작성하는 데 크게 도움이됩니다.
class TestClass {
def test() {
def a = something.that.didnt.exist()
or how about some random statements that make no sense at all
a = ew Parser().doSomething() ew blah blah blah
}
def propertyMissing(String name) { println "$name"; return this }
def methodMissing(String name, args) { println "$name with $args"; return this }
}
new TestClass().test()
@KshitizSharma 네, 로컬 변수는 (metaClass를 통해) 또는 propertyMissing을 통해 추가 할 수 있습니다. kunal은 –
@tim_yates라고 말합니다. 편집 한 내용에 댓글을 달 수 있습니까? –
@KshitizSharma 포인트를 설명하는 코드 예제를 추가했습니다. – kunal