よりRubyらしく書けるように色々と手を加えています。
- (済) main不要に
- 人に見せると一番突っ込まれるのがここ
- やっぱり分かりにくい
- 直接トップレベルを実行できるようにする
- (済) mrubyをサブスレッドで実行する
- 今までYieldを使っていたような処理を全てやめる
- 代わりにUIとのやりとりはメインスレッド(UI制御)に dispatch_sync or dispatch_async して行うことにする
- (済) 無限ループの場合もUIは止まらないように
- サブスレッドで動かすことで実現できた
- これでmruby-simplehttpserverのようにずっと待ち受けるようなライブラリも動くようになる
- 画像の表示
- pやputsでテキストと一緒に表示するようにしたい
- これで関数の戻り値で返す必要がなくなる
- チャットビューコントローラのようなUIの作り方
進捗
こんな感じに書けるようになります。def main不要だとやっぱりすっきりしますね。
p "hi" p 1 + 2 + 3 + 4 (1..3).each do p Time.now end # loop do # p Time.now # end # 1 + nil p 1 + 2 + 3 (1..10).each do |e| p e end nil + "A"
実行結果です。
エラー表示も実行結果と一緒に表示されるようになってよりわかりやすくなりました。無限ループしてもメッセージがつらつらと表示されるだけでBackボタンを押せばいつでもmrubyの実行を停止することができます。
リリースにはもう少し時間がかかりそうですが大分使いやすくなると思いますのでご期待ください。
最新はfeature/remove-mainブランチで開発しているのでビルドすれば手元で動かすことも可能です。