typestar

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

  1. ImplicitlyCopyable es lo que permite que un = simple duplique el struct.
  2. duplicate recibe sus propios points y label para sobrescribir.
  3. original imprime sin cambios, prueba de que nunca compartieron memoria.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 1 de 5 en Semántica de valores; paso 6 de 22 en Structs y traits.

← Anterior Siguiente →