Pular para o conteúdo

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
Playground
// 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

Referência · Programa fonte

zolo run examples/features/empty_iteration.zolo --no-cache

Veja também

Índice global

Encontre seu caminho pela Zolo

Experimente uma ideia

Comece por aqui

9 resultados

9 resultados

enespt-br