2010-05-27 4 views
1

Je suis un débutant en Ada et je suis tombé sur un morceau de code qui est indiqué ci-dessous:Doutes en langue ada impliquant des procédures

    procedure Null_Proc is 
        begin 
        null; 
        end; 

Maintenant, selon ma connaissance la procédure Ada ne retourne rien . Mon doute est ce que fait cette procédure Null_proc? Je veux dire que je ne suis pas clair avec la définition de la procédure.

Répondre

4

Il ne fait rien.

Cela peut être utile lorsqu'une procédure doit être appelée mais rien ne doit être fait; sinon, il a peu de valeur. (Je travaille de mémoire, je suppose qu'Ada permet des fonctions ou des procédures en tant que paramètres à d'autres fonctions - en termes de C, pointeurs vers des fonctions.)

+0

..So quand Leffler @ Jonathan u convertir cette même procédure pour une fonction en C, nous suffit d'écrire comme: Null_Proc vide {} Ai-je raison? – maddy

+0

@Maddy: oui - presque. Le C serait 'void Null_Proc (void) {}', bien sûr, mais c'est une question de syntaxe détaillée plutôt que de concept. –

+0

@Jonathan Leffler..Merci beaucoup – maddy

2

J'ai été connu pour écrire des routines principales de cette façon "code réel" était dans les paquets ed with. Cela est particulièrement probable si votre programme utilise des tâches, car la routine principale ne peut pas accepter le rendez-vous comme une tâche, donc il finit souvent avec rien d'utile à faire. Votre programme entier restera actif jusqu'à ce que toutes les tâches soient terminées, donc la routine principale n'a vraiment rien à faire.

Une autre utilisation possible serait d'implémenter une sorte de routine par défaut à fournir aux rappels.

+0

@ T.E.D ... Merci beaucoup – maddy