2023-01-10
Rubyのまち、島根県松江市にて、今週末開催、松江高専主催の「Matz葉がにロボコン」!

「Matz葉がにロボコン」

福井県情報システム工業会の30周年のイベントとしてスタートしたオープンソースなこども向けロボットコンテスト「越前がにロボコン」からフォークされたイベントです。

Rubyとロボットと言えば、IchigoJamで組み込み向けのRuby、mrubyを動かしたことがあります。(IchigoJamでRubyは動くのか?2つのアプローチとPC上試作 kawakudari.rb

今回は、一人一台パソコンを活用する、BLE/WebBluetooth制御を前提にブラウザ上でのRuby実行に向けて見つけたNode.js向けJavaScriptライブラリ「puntorigen/ruby_parser: Pure JS Ruby file parser」をフォークして、Denoやブラウザで汎用的に使える「RubyParser.js」を作りました。

「code4fukui/ruby_parser: RubyParser ES module」

パーサーにはWebAssemblyが使われていました。WASMファイルはまだimportできないので、JavaScriptに変換することでDenoで動かした際にもキャッシュに残る形にしました。

ブラウザ上でRuby言語を書いてもらう準備ができました!インタプリタにするか、WebAssemblyにするか、Mochi言語でRuby風スタイルに対応するのもおもしろいかも?


「code4fukui/bin2js」

bin2jsを使えば、バイナリをJavaScriptにできます。WASMだけでなく、画像やデータなど、汎用的に使えます。Base64でエンコードしているので33%と100バイトちょっと増える感じになります。


事前講習会の様子がアップされています。現地での観覧、楽しみです!

松江高専が主催、しまねOSS協議会、松江市が共催、島根県が後援。オープンソースが熱い!

links
- Matz葉がにロボコン|かにロボ連盟 ご当地こども向けプログラミングコンテスト (2023-01-15 13:00 at 松江テルサ)

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS