2010-05-08 7 views
9

Je suis en train d'écrire un script Ruby dans un fichier.Ayant besoin avant déclaration Ruby

Je voudrais savoir s'il est possible d'écrire la fonction « principale » au début, ayant les autres fonctions qui sont utilisées par les principaux, définis après. En d'autres termes, je voudrais appeler une fonction non encore définie, de sorte qu'ils ne dépendent pas de l'ordre de définition. Changer simplement l'ordre n'est pas possible car cela donne une erreur "méthode non définie". En C/C++, nous utilisons des déclarations anticipées ... y a-t-il quelque chose de similaire dans Ruby ou une autre solution à cela?

Répondre

17

Vous devez juste les fonctions que vous appelez à définir lorsque votre fonction main fonctionne, pas quand il est défini. Ainsi, la solution la plus simple consiste à écrire la fonction main au début du script, mais appelez-la à la fin.

def main 
    foo(42) 
    bar(24) 
end 

# definitions of foo and bar 

main 
Questions connexes