Reinicar o loop e manter o valor da variável Topic is solved

Tire suas dúvidas sobre programação em AutoHotkey

Moderator: Gio

brunopare
Posts: 11
Joined: 15 Jun 2021, 13:37

Reinicar o loop e manter o valor da variável

15 Oct 2021, 10:31

Olá, eu tenho um código, onde dependendo da condição preciso que ele retorne o loop do começo porém mantenha o valor da variável

Ex:

Code: Select all

variavel := 1

loop{
if (condição = true){
 volta pro começo do loop com variavel valendo 2 
}
variavel := variavel +1 
}
Agradeço a ajuda
User avatar
Gio
Posts: 1247
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: Reinicar o loop e manter o valor da variável  Topic is solved

15 Oct 2021, 16:11

Boa tarde Brunopare.

Use o comando continue para terminar a iteração atual de um loop (e iniciar a próxima).

OBS: como curiosidade, para terminar um loop inteiro você usaria outro comando: break.

Exemplo:

Code: Select all

variavel := 0 ; Inicie a variável em 0 para que possa incrementaá-la no início do loop e ainda começar em 1.

loop{
variavel := variavel + 1 ; incremente no início do loop para que o incremento funcione independente do resultado da condição. 
if (condição = true){
 continue ; use o continue para que as linhas abaixo NÃO executem caso a condição seja verdadeira.
}
; Os códigos nesta linha em diante (até o fim da chave) executariam apenas se a condição acima for falsa (pois se for verdadeira, o loop reinicia pelo continue).
}

:arrow: Um exemplo mais didático: Suponha que você quer contar os números ímpares de 1 até 10. Você pode usar uma condicional para testar se os números são pares, e se forem pares, você pula a inserção deles na variável que será exibida ao final (porém a contagem continua ocorrendo).

Code: Select all

variavel := 0 ; Inicie a variável em 0 para que possa incrementaá-la no início do loop e ainda começar em 1.
NUMEROS := ""

loop, 10
{
	variavel := variavel + 1 ; incremente no início do loop para que o incremento funcione independente do resultado da condição. 
	if ((variavel = 2) OR (variavel = 4) OR (variavel = 6) OR (variavel = 8) OR (variavel = 10))
	{
		Continue ; use o continue para que as linhas abaixo NÃO executem caso a condição seja verdadeira.
	}
	NUMEROS := NUMEROS . "`n" .  variavel ; Esta linha só escreve se a condição resultou falsa. Logo, não vamos escrever na iteração 2, nem na 4, nem na 6, nem na 8 e nem 10. Mas elas continuam ocorrendo até o continue ser atingido (por isso a contagem não para nelas, pois nas iterações pares a variável também é acrescida, uma vez que isso ocorre antes do continue ser atingido).
}

msgbox % NUMEROS
brunopare
Posts: 11
Joined: 15 Jun 2021, 13:37

Re: Reinicar o loop e manter o valor da variável

21 Oct 2021, 08:44

Muito obrigado era exatamente isso que eu precisava !!!!

Return to “Ajuda e Suporte Geral”

Who is online

Users browsing this forum: claudiosxj and 22 guests