05 · Controle de Fluxo
Trate uma iteração vazia
O bloco else após for executa apenas quando nenhum item entra no corpo. Em for case, itens que não combinam com o padrão não contam. Um break após uma iteração bem-sucedida não executa else; o binding do loop não está disponível no bloco else.
Nesta página
O bloco else após for executa apenas quando nenhum item entra no corpo. Em for case, itens que não combinam com o padrão não contam. Um break após uma iteração bem-sucedida não executa else; o binding do loop não está disponível no bloco else.
Exemplo completo
Trate uma iteração vazia.
empty_iteration.zolo
// Show an empty search result without a second count or duplicate traversal.
struct Product { name: str, stock: int }
let products = [Product { name: "Keyboard", stock: 3 }, Product { name: "Mouse", stock: 0 }]
let available = [for product in products => if product.stock > 0 => product]
for product in available {
print("Available: {product.name}")
} else {
print("No products available")
}
let empty: [Product] = []
for product in empty { print(product.name) } else { print("No search results") }
enum Reply { Found(str), Missing }
let replies = [Reply.Missing, Reply.Missing]
for case .Found(name) in replies {
print(name)
} else {
print("No matching replies")
}
Referência
zolo run examples/features/empty_iteration.zolo --no-cache
Veja também