Nim: transpilerとして使う(3) - javascriptから呼び出す
2 を書いてから追加であった話
javascriptから呼び出す
コンパイル数のシンボル・関数名は普通は数字などがつけられます。 \ ユニークになるようになってます (たぶん)
それだとコンパイルの度に関数名が変わってしまい、 \ 他のjavasciprtから呼び出すのが不便です。
外部から呼び出したい場合は以下のように記述します:
proc func(src: cstring): void {.exportc.} = ...
私がハマったのは宣言と実体、両方に記述をしないと有効にならない点でした:
proc func1(src: cstring): void {.exportc.} proc func2(src: cstring): void {.exportc.} proc func1(src: cstring): void {.exportc.} = # ○ discard proc func2(src: cstring): void {.exportc.} = # × discard
こうして準備した関数はhtmlの中から呼び出しできます。
<script src="nim.js"> </script> <script> func1("hey") </script>
どっちかというと、こんな使い方を考えていました
<a href="javascript:func1('hey');"> button </a>
コメント
Comments powered by Disqus