Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/08/2011, à 19:14

Hizoka

[resolu] equivalent à continue 2 pour return ?

Bonsoir,

Soit les fonctions :

fonction b { echo b1; return; echo b2; }
function a { echo a1; b; echo a2; }
a
=> a1
=> b1
=> a2

comment faire pour que la fonction a s’arrête également si la b s’arrête ?

on peut utiliser une variable en autre

fonction b { echo b1; stop=yes; return; echo b2; }
function a { echo a1; b; [[ $stop == yes ]] && return; echo a2; }

mais y a-t-il plus simple ?

Dernière modification par Hizoka (Le 04/08/2011, à 15:37)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#2 Le 03/08/2011, à 21:07

ehmicky

Re : [resolu] equivalent à continue 2 pour return ?

Salut,
Je crois que contrairement à break et continue, l'argument d'exit et de return ne permet de "remonter le stack" mais seulement d'envoyer un exit code, donc pas possible d'utiliser return comme continue. Mais avec l'exit code, ou envoyant un signal via kill et trap, tu dois pouvoir forcer la fonction du dessus à quitter si celle du dessous quitte aussi selon certaines circonstances :

b() { echo "b1"; return "$1" ; echo "b2"; }
a() { echo "a1"; b "$1" || return ; echo "a2"; }

a 1
echo -e "----\nAvec un nouvel argument\n----"
a 0
$ ./test.sh
a1
b1
----
Avec un nouvel argument
----
a1
b1
a2

(bugue si "$1" n'est pas un entier positif < 2^63)
Je sais pas si j'ai répondu à côté tongue

Dernière modification par ehmicky (Le 03/08/2011, à 21:13)


Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?

Hors ligne

#3 Le 03/08/2011, à 21:19

Hizoka

Re : [resolu] equivalent à continue 2 pour return ?

pas con, ca simplifie un peu ma version mais l'idée est la même...

merci à toi smile

j'attends un peu avant de mettre resolu histoire de voir si quelqu'un a une autre idee


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne