07 · Coincidencia de Patrones
Lee campos anidados en un patrón
Escribe { address.city: city } para enlazar un campo anidado sin repetir las llaves de los records. La ruta completa se comprueba contra el tipo de entrada; el enlace city pertenece al alcance donde el patrón tuvo éxito.
En esta página
Escribe { address.city: city } para enlazar un campo anidado sin repetir las llaves de los records. La ruta completa se comprueba contra el tipo de entrada; el enlace city pertenece al alcance donde el patrón tuvo éxito.
Ejemplo completo
Lee campos anidados en un patrón.
07-nested-destructure.zolo
struct Address { city: str, postcode: int }
struct Profile { name: str }
struct User { address: Address, profile: Profile }
let user = User {
address: Address { city: "Recife", postcode: 50000 },
profile: Profile { name: "Ada" }
}
fn mailing_label(user: User) -> str {
let { address.city: city, address.postcode: postcode, profile.name: name } = user
assert(city == "Recife")
assert(postcode == 50000)
assert(name == "Ada")
"{name}: {city}, {postcode}"
}
print(mailing_label(user))
Referencia
zolo run examples/features/40-syntax-fourth/07-nested-destructure.zolo --no-cache
Consulta también