Saltar al contenido

09 · Estructuras de Datos

Aplica los campos presentes del patch

En una actualización with, name?: patch.name conserva el campo original cuando el nuevo valor es nil. Los valores presentes sustituyen el campo. Un name: nil normal sigue asignando nil cuando el campo lo permite.

En esta página

En una actualización with, name?: patch.name conserva el campo original cuando el nuevo valor es nil. Los valores presentes sustituyen el campo. Un name: nil normal sigue asignando nil cuando el campo lo permite.

Ejemplo completo

Aplica los campos presentes del patch.

04-optional-patch.zolo
Playground
struct User { name: str, avatar: str? }
struct ProfilePatch { name: str?, avatar: str? }

let user = User { name: "Ada", avatar: "ada.png" }
let patch = ProfilePatch { name: "Ada Lovelace", avatar: nil }
let updated = user with { name?: patch.name, avatar?: patch.avatar }
let cleared = updated with { avatar: nil }

assert(updated.name == "Ada Lovelace")
assert(updated.avatar == "ada.png")
assert(cleared.avatar == nil)
assert(user.name == "Ada")
print(updated.name)
print(updated.avatar ?? "no avatar")
print(cleared.avatar ?? "no avatar")

Referencia

Referencia · Programa fuente

zolo run examples/features/40-syntax-fourth/04-optional-patch.zolo --no-cache

Consulta también

Índice global

Encuentra tu camino por Zolo

Prueba una idea

Empieza aquí

9 resultados

9 resultados

enespt-br