Les boucles nichées, étiquette et continuent des rapports


  Share  
|


Le rapport d'étiquette n'est pas en soi assorti au rapport de continuation mais, comme discuter la coupure avec le commutateur et le cas, vous pourriez le trouver utile pour voir les rapports utilisés dans un contexte mutuel. De même, des boucles nichées typiquement sont écrites sans étiquette ou continuent des rapports, mais elles servent de structure utile pour aider à expliquer comment employer effectivement continuent.

Pour la plupart, je n'emploie pas continue parce que, comme le rapport de coupure, il peut signaler des pratiques de programmation mouillées et la planification pauvre. Cependant, une fois utilisé convenablement et dans le bon contexte, continuez peut être une option de programmation valable. Le rapport saute de l'ordre dans une structure de boucle, mais, à la différence de la coupure, qui sort la boucle, continuez les sauts pour examiner l'état d'arrêt de la boucle, sautant effectivement l'itération courante des rapports dans la boucle.

Considérez un programme dans lequel une équipe de baseball est séquentiellement donnée des nombres du Jersey excepté les nombres de joueurs particulièrement identifiés dont les nombres ont été retirés. Dans une boucle, le rapport de continuation peut sauter au commencement de la boucle quand des nombres retirés l'uns des sont trouvés dans la boucle. En outre, vous avez plus qu'une équipe simple, et la deuxième équipe a le même nombre de joueurs et emploie les mêmes nombres du Jersey. La première boucle (externe) maintient les équipes, et la deuxième boucle (intérieure) maintient les joueurs et les Jersey qui ils obtiendront. Quand une boucle réside à l'intérieur d'une autre boucle, elle a appelé une boucle nichée.

Dans le Javascript, les étiquettes ne sont pas des rapports, mais plutôt des marques. Si vous avez jamais programmé en de base, dans lequel la ligne nombres ou étiquettes sont employées pour mettre en référence une ligne de code, vous connaissez quelles étiquettes sont. Elles sont des endroits dans le manuscrit où le programme peut s'embrancher si un rapport l'indique faire ainsi. Le format pour une étiquette est comme suit :

étiquette : 
rapports

À certains égards, des étiquettes peuvent être employées comme des commentaires pour vous aider à organiser vos manuscrits, mais elles peuvent également être employées en même temps que continuent à envoyer le programme pour exécuter la partie marquée du manuscrit. Puisque le rapport de continuation peut être employé seulement dans les boucles, l'étiquetage des boucles aide à commander ce que le programme fera. Dans le manuscrit suivant, les deux boucles sont marquées équipe et le Jersey. Dans le Jersey la boucle est un rapport conditionnel utilisant continuent qui empêche les nombres retirés d'équipe d'être employée. Notez que le rapport de continuation commande un saut au commencement de la boucle du Jersey, pas la boucle d'équipe. Après que vous couriez le manuscrit, changez l'étiquette à côté du du continuation du Jersey pour team.

<html> 
<head> 
<title>Using continuent et Labels</title> 
language= " Javascript " de <script > 
"" de teamJ= de variété ; 
variété teamMember=0 ; 
équipe : 
     pour (variété outCount=1 ; outCount<3 ; outCount++) {
           le Jersey : 
                 pour (variété inCount=20 ; inCount<35 ; inCount++) {
                       si (inCount==22 || inCount==29 || inCount==30) {
                             continuez le Jersey ; 
                       } 
                 si (teamMember==12) {
                 teamMember=0 ; 
                 } 
                                    teamMember++ ; 
     teamJ += « équipe » + outCount + « membre » + teamMember + « nombre du Jersey » + inCount + 
     « <br> » ; 
     } 
} 
document.write (teamJ) ; 
</script> 
</head> 
le bgColor= <body " mediumspringgreen " > 
</body> 
</html>

Le rendement de manuscrit devrait ressembler à ce qui suit :

Team1 membre 1 Jersey numéro 20 
   Team1 membre 2 Jersey numéro 21 
   Team1 membre 3 Jersey numéro 23 
   Team1 membre 4 Jersey numéro 24 
   Team1 membre 5 Jersey numéro 25 
   Team1 membre 6 Jersey numéro 26 
   Team1 membre 7 Jersey numéro 27 
   Team1 membre 8 Jersey numéro 28 
   Team1 membre 9 Jersey numéro 31 
   Team1 membre 10 Jersey numéro 32 
   Team1 membre 11 Jersey numéro 33 
   Team1 membre 12 Jersey numéro 34 
   Team2 membre 1 Jersey numéro 20 
   Team2 membre 2 Jersey numéro 21

Il finit avec le membre 12, et puis les débuts plus d'avec le membre 1.

Notification comment tous les nombres retirés du Jersey ont été omis dans les tâches pour les deux équipes. Changez maintenant cette ligne :

continuez le Jersey ;  

à

continuez l'équipe ;  

Quand vous lancez le programme une deuxième fois, le rendement montre seulement les quatre lignes suivantes :

Team1 membre 1 Jersey numéro 20 
   Team1 membre 2 Jersey numéro 21 
   Team2 membre 3 Jersey numéro 20 
   Team2 membre 4 Jersey numéro 21

La raison pour laquelle le deuxième manuscrit produit seulement quatre lignes dans la fenêtre de navigateur est que, dès que le premier nombre retiré a été détecté, le programme s'est embranché à la boucle externe (équipe), incrémentée la valeur du compteur, et finie quand le deuxième nombre réservé a été trouvé parce qu'il avait atteint l'état d'arrêt. Ainsi, comme vous pouvez voir, selon au lequel étiquette les branches de rapport de continuation, des résultats très différents sont produits.

 

un article a soumis par George Freedrich


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions