typestar

call en WebAssembly

Ayudantes privados por $nombre; solo los exports miran al host.

(module
  ;; call names another function in the module; only the exported one
  ;; is visible to the host.
  (func $celsius_to_f (param $c i32) (result i32)
    (i32.add
      (i32.div_s (i32.mul (local.get $c) (i32.const 9)) (i32.const 5))
      (i32.const 32)))

  (func (export "spread_f") (param $lo_c i32) (param $hi_c i32)
        (result i32)
    (i32.sub
      (call $celsius_to_f (local.get $hi_c))
      (call $celsius_to_f (local.get $lo_c)))))

Cómo funciona

  1. $celsius_to_f no tiene export — existe solo para el módulo.
  2. call $celsius_to_f empuja los argumentos primero, en estilo plegado.
  3. spread_f lo llama dos veces y resta los resultados.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
13
Caracteres a escribir
407
Tokens
85
Ritmo de tres estrellas
65 tpm

Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 78 segundos.

Escribe este fragmento

Paso 1 de 3 en Llamadas; paso 13 de 28 en Fundamentos del lenguaje.

← Anterior Siguiente →