Protección frente al "out-of-bounds"

Y, de igual forma que vimos para las listas ¿qué ocurre si indicamos como nombre de campo una cadena de texto inexistente?:

let
   ficha = [nombre = "José", edad = 75, ciudad = "Madrid"]
in
   ficha[ocupación]
Protección frente al "out-of-bounds"

La máquina M devuelve un error. Y tal y como ocurría con las listas, podemos protegernos contra este error añadiendo una interrogación ? tras la selección:

let
   ficha = [nombre = "José", edad = 75, ciudad = "Madrid"]
in
   ficha[ocupación]?
null
Protección frente al "out-of-bounds"

Ahora el código devuelve un nulo (y, tal y como vimos con las listas, podríamos recurrir a la expresión if o al operador de coalescencia nula para devolver otro valor.