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
$celsius_to_fno tiene export — existe solo para el módulo.call $celsius_to_fempuja los argumentos primero, en estilo plegado.spread_flo llama dos veces y resta los resultados.
Palabras clave y builtins usados aquí
callexportfunci32moduleparamresult
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.
Paso 1 de 3 en Llamadas; paso 13 de 28 en Fundamentos del lenguaje.