2010-05-08 40 views
9

Tôi đang cố gắng viết một tập lệnh Ruby trong một tệp.Cần khai báo chuyển tiếp trong Ruby

Tôi muốn biết liệu có thể viết chức năng "chính" ngay từ đầu, có các chức năng khác được sử dụng bởi chính, được xác định sau nó hay không. Nói cách khác, tôi muốn gọi một hàm chưa được xác định, để chúng không phụ thuộc vào thứ tự định nghĩa. Chỉ cần thay đổi thứ tự là không thể vì nó đưa ra một lỗi "phương pháp không xác định". Trong C/C++, chúng tôi sử dụng các khai báo chuyển tiếp ... có điều gì đó tương tự trong Ruby hoặc một giải pháp khác không?

Trả lời

17

Bạn chỉ cần các hàm bạn gọi để xác định khi chức năng main của bạn chạy, không phải khi chức năng được xác định. Vì vậy, giải pháp đơn giản nhất là viết hàm main khi bắt đầu tập lệnh, nhưng gọi nó ở cuối.

def main 
    foo(42) 
    bar(24) 
end 

# definitions of foo and bar 

main 
Các vấn đề liên quan