2013-02-06 4 views
-5

Il est possible d'appeler une autre méthode pour vérifier quelque chose, comme un booléen, et l'arrêter (retour ou veille) de celle-ci? je veux dire:Comment arrêter une méthode d'une autre méthode

Méthode 1: code méthode d'appel 2:? Code

Méthode 2: si (wathever) { make méthode 1 retour } else { continuer }

EDIT: oui java désolé, merci pour les réponses! Aussi oui je sais comment utiliser les booléens de cette façon, cela n'a pas résolu ma question, je ne veux pas vérifier un booléen retourné, je veux faire directement la méthode 1 retour, je suppose que ce n'est pas possible mais merci quand même :)

+0

Demandez-vous s'il y a un moyen de arrêter une méthode si quelque chose ne vérifie pas? – David

+0

Je me demande si vous cherchez 'return;' ou 'longjmp()' ... –

+0

Dans quelle langue? C#? Java? JavaScript? etc ... –

Répondre

0

Donc, vous voulez essentiellement un moyen pour une méthode pour forcer la méthode d'invocation de quitter?

Renvoie un paramètre out ou boolean de la méthode pour indiquer à la méthode d'appel qu'elle doit quitter.

public void Method1() 
{ 
    if(!method2()) 
     return; 

    // do stuff 
} 

public bool Method2() 
{ 
    if(check) { 
     return false; 
    } 

    // do other stuff 
    return true; 
} 
0

Vous pouvez utiliser des valeurs de retour booléennes/une condition booléenne en fonction de la valeur de retour de la méthode à deux. Mais vous ne pouvez pas vraiment transmettre une déclaration de retour. Mon exemple est la langue indiscriminée puisque vous n'avez pas fourni de langue.

def methodOne(): 
    if (!methodTwo()): 
     return 
    else: 
     <code> 

def methodTwo(): 
    if (whatever): 
     return false 
    else: 
     <code> 
2

Oh, et juste pour garder en fait ma promesse au sujet LOLCODE, voici une petite fonction qui renvoie ou fait quelque chose d'autre en fonction de son seul argument Boolean:

HOW DUZ I BREAK_OUTTA_FUNCTION YR FLAG 
    IZ FLAG WIN, O RLY? 
     YA RLY         BTW if flag is `WIN` (true) 
      GTFO         BTW return 
     NO WAY 
      BTW do something else if `flag' is LOSE (false) 
    OIC 
IF U SAY SO 
Questions connexes