スクリプト言語は .wasm ファイルにすればブラウザで動くテスト
- Example web assembly

KITASHIRAKAWA_Chiyuri
例を作ったんで 触ってみろだぜ☆

目次 - Table of contents.

戻る - back

1. Rust のソースコードを用意しろだぜ☆
- Prepared Rust source code.

sample1.rs

KITASHIRAKAWA_Chiyuri
サンプルの Rust 言語のプログラムを ここに置いておくが、右クリックして保存したりして取れだぜ☆
.wasm に変換しろだぜ☆
.wasm は JavaScript だが、Webのアセンブリとも言われている☆
戻る - back

2. ブラウザで .wasm を実行しろだぜ☆
- Run .wasm on browser.

KITASHIRAKAWA_Chiyuri
[F12]キーとか押して Console 出して見ろだぜ☆(^~^) 5 とか書いてればOK☆(^~^)
戻る - back

3. .wasm を実行する JavaScriptソースの例
- Running Java script wasm.

KITASHIRAKAWA_Chiyuri
JSHint では => を使った書き方は通らないが☆、
/** .wasm ファイルを実行します。コンソールに 5 を返します。 */
function executeWasm() {
    'use strict';

    fetch('http://warabenture.com/grayscale/blog/201805rust/sample1.wasm')
        .then((response) => response.arrayBuffer())
        .then((bytes) => WebAssembly.instantiate(bytes, {}))
        .then((results) => {
          const instance = results.instance;
          console.log(instance.exports.sum(2, 3));
        });
}
KITASHIRAKAWA_Chiyuri
といったように書いたり、または☆、
/* globals WebAssembly */
/* exported executeWasm */
/* [ ] no-console */

/** .wasm ファイルを実行します。コンソールに 5 を返します。 */
function executeWasm() {
    'use strict';

    fetch('http://warabenture.com/grayscale/blog/201805rust/sample1.wasm')
        .then( function(response) {
          return response.arrayBuffer();
        })
        .then( function(bytes) {
          return WebAssembly.instantiate(bytes, {});
        })
        .then( function(results) {
          /**
           * @const
           */
          var INSTANCE = results.instance;
          console.log(INSTANCE.exports.sum(2, 3));
        });
}
KITASHIRAKAWA_Chiyuri
と書けだぜ☆
冒頭のコメントは jshint でエラーを無視する指示だったり、
eshint で no-console オプションを外せ、というわたしのメモだぜ☆
こんなん書くのはソースの汚染だが、標準が無いのが悪い☆