Asignar copia el valor en Mojo
Los structs de Mojo son valores: asignar uno hace una copia independiente, no un alias.
@fieldwise_init
struct Score(ImplicitlyCopyable, Movable):
var points: Int
var label: String
def main():
var original = Score(10, "first")
var duplicate = original
duplicate.points = 99
duplicate.label = "second"
print(original.points, original.label)
print(duplicate.points, duplicate.label)
Cómo funciona
ImplicitlyCopyablees lo que permite que un=simple duplique el struct.duplicaterecibe sus propiospointsylabelpara sobrescribir.originalimprime sin cambios, prueba de que nunca compartieron memoria.
Palabras clave y builtins usados aquí
IntMovableStringdefprintstructvar
El intento, en números
- Líneas
- 13
- Caracteres a escribir
- 294
- Tokens
- 66
- Ritmo de tres estrellas
- 80 tpm
Al ritmo de tres estrellas de 80 tokens por minuto, este intento toma unos 50 segundos.
Paso 1 de 5 en Semántica de valores; paso 6 de 22 en Structs y traits.