2010-05-08 4 views
9

에 하나의 루비 스크립트를 작성하려고합니다.Ruby에서 앞으로 선언이 필요합니다.

처음에 "main"함수를 작성할 수 있는지, main에 의해 사용되는 다른 함수가 정의되어 있는지, 그 뒤에 정의되어 있는지 알고 싶습니다. 즉, 아직 정의되지 않은 함수를 호출하여 정의 순서에 의존하지 않도록하고 싶습니다. 순서를 변경하는 것은 "정의되지 않은 메서드"오류를 발생시키기 때문에 가능하지 않습니다. C/C++에서는 forward 선언문을 사용합니다 ... Ruby 나 이와 비슷한 해결책이 있습니까?

답변

17

main 함수가 정의 된 시점에 실행될 때 정의 된 함수가 필요합니다. 따라서 가장 쉬운 해결책은 스크립트의 시작 부분에 main 함수를 작성하고 끝에서 호출하는 것입니다.

def main 
    foo(42) 
    bar(24) 
end 

# definitions of foo and bar 

main