Parámetros y resultados en WebAssembly
Las firmas declaran todo; los $nombres apodan los índices.
(module
;; Parameters and results are declared in the signature; $names are
;; readable aliases for their indices.
(func (export "area") (param $w i32) (param $h i32) (result i32)
(i32.mul (local.get $w) (local.get $h)))
(func (export "perimeter") (param $w i32) (param $h i32) (result i32)
(i32.mul (i32.add (local.get $w) (local.get $h)) (i32.const 2))))
Cómo funciona
(param $w i32)declara un parámetro tipado legible por nombre.local.getempuja un parámetro;i32.mulconsume dos valores.- Cada export es independiente:
areayperimetersolo comparten estilo.
Palabras clave y builtins usados aquí
exportfunci32moduleparamresult
El intento, en números
- Líneas
- 8
- Caracteres a escribir
- 357
- Tokens
- 80
- Ritmo de tres estrellas
- 65 tpm
Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 74 segundos.
Paso 2 de 3 en Módulos; paso 2 de 28 en Fundamentos del lenguaje.