Slide 11 de 74

if e else

if, else if, else
proc main(): void {
	frames := 7

	if frames > 10 {
		echo "uma colônia forte"
	} else if frames > 3 {
		echo "vai indo"
	} else {
		echo "precisa de alimento"
	}
}
Os nomes próprios de um bloco
proc main(): void {
	total := 10
	if total > 5 {
		total := "dez"     // o próprio deste bloco: esconde o de fora
		echo total         // dez
	}
	echo total             // 10 — intocado
}

if, else if e else recebem um Bool, e somente um Bool — um Atom não é uma condição, e um Int, uma Str ou um vetor também não. As chaves são sempre escritas.

Todo par de chaves é um bloco, e um bloco pode declarar nomes próprios. Um que reusa um nome de fora esconde o de fora até o bloco terminar, mesmo com outro tipo; a variável de fora fica intocada e volta depois da chave de fechamento.