typestar

De solo lectura por defecto en Mojo

Los argumentos son de solo lectura salvo que digas otra cosa, y eso no cuesta nada al correr.

@fieldwise_init
struct Recipe(ImplicitlyCopyable, Movable):
    var title: String
    var servings: Int


def scaled(recipe: Recipe, factor: Int) -> Int:
    return recipe.servings * factor


def main():
    var chili = Recipe("Chili", 4)
    print(scaled(chili, 3))
    print(chili.title, chili.servings)

Cómo funciona

  1. scaled(recipe: Recipe, factor: Int) recibe recipe sin mut ni var.
  2. El cuerpo puede leer recipe.servings pero no puede asignarle.
  3. De vuelta en main, chili queda intacto e imprime sus valores originales.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
14
Caracteres a escribir
281
Tokens
69
Ritmo de tres estrellas
80 tpm

Al ritmo de tres estrellas de 80 tokens por minuto, este intento toma unos 52 segundos.

Escribe este fragmento

Paso 4 de 5 en Semántica de valores; paso 9 de 22 en Structs y traits.

← Anterior Siguiente →