Sortir d'une fonction sans return

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
CaptnCavern
Niveau 1
Niveau 1
Messages : 1
Enregistré le : lun. 16 août 2021 08:02
Status : Hors ligne

Sortir d'une fonction sans return

#1

Message par CaptnCavern »

Bonjour,

j'aimerais faire un test qui me fasse sortir d'une fonction A sous condition. Comme je voudrais appliquer ce test à plusieurs moments dans différentes fonction A', A", ... , j'aimerai le mettre dans une fonction B que j’appellerai dans A.

La seule solution que j'ai trouvé pour le moment c'est de faire

Code : Tout sélectionner

Global $TestReturn = 0
Func _A()
	; blablablamafonction puis le test :
	_B()
	If $TestReturn = 1 Then
		$TestReturn = 0
		Return()
	Endif
EndFunc

Func _B()
	If blablabla Then
		$TestReturn = 1
	EndIf
EndFunc
Mais je trouve ça super lourd tout ce que j'ai à mettre dans ma fonction A, si je pouvais tout mettre dans ma fonction B et juste avoir à l’appeler ce serait top. Est-ce possible ? Je ne sais pas si ça aide, mais mon script est du type :

While 0
_A()
_A'()
;....
Wend


Merci d'avance !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Sortir d'une fonction sans return

#2

Message par mikell »

En général, le mieux est de demander à la fonction B (qui teste) de retourner une valeur, pour fournir des options à la fonction A qui l'a appelée
ça évite la variable globale
Func _A()
   ; blablablamafonction puis le test :
   If _B() Then ...   ; c'est un booléen,  If _B() = 1 then
      ; le reste
EndFunc

Func _B()
   If blablabla Then Return 1
   Return 0
EndFunc
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre