05 · Control de Flujo
Trata una iteración vacía
El bloque else después de for se ejecuta solo cuando ningún elemento entra en el cuerpo. En for case, los elementos que no coinciden con el patrón no cuentan. Un break después de una iteración exitosa no ejecuta else; el enlace del bucle no está disponible en el bloque else.
En esta página
El bloque else después de for se ejecuta solo cuando ningún elemento entra en el cuerpo. En for case, los elementos que no coinciden con el patrón no cuentan. Un break después de una iteración exitosa no ejecuta else; el enlace del bucle no está disponible en el bloque else.
Ejemplo completo
Trata una iteración vacía.
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")
}
Referencia
zolo run examples/features/empty_iteration.zolo --no-cache
Consulta también