連載
“組み込みRuby”こと「mruby」をセットアップしてみよう:mruby概論(2)(3/3 ページ)
Rubyの特長を組み込み開発に反映させたプログラミング言語が「mruby」です。今回は実際のセットアップと基本的な構文について解説します。
mrubyデバッガ(bin/mrdb)
CUIのコマンドライン上で、Rubyスクリプトまたはmrubyバイトコードをデバッグできるデバッガです。GNUのデバッガ「gdb」によく似た下記のコマンドを使用することができます。
- runコマンド(プログラムの実行)
- stepコマンド(プログラムのステップ実行)
- continueコマンド(プログラムの継続実行)
- breakコマンド(ブレイクポイントの設定)
- deleteコマンド(ブレイクポイントの削除)
- disableコマンド(ブレイクポイントの無効化)
- enableコマンド(ブレイクポイントの有効化)
- info breakpointsコマンド(ブレイクポイント一覧表示)
- print / evalコマンド(式の評価)
- listコマンド(ソースコードの表示)
- helpコマンド(ヘルプ表示)
- quitコマンド(mrubyデバッガの終了)
mrubyの各コマンドにはヘルプ( -help )が用意されています
mrubyアプリケーションの構文例
#include "mruby.h" #include "mruby/proc.h" #include "mruby/dump.h" #include <stdio.h> int main(void) { FILE *fp; mrb_state *mrb = mrb_open(); if ((fp = fopen("./hello.mrb", "rb")) == NULL) { puts("File not found."); return -1; } mrb_load_irep_file(mrb, fp); fclose(fp); mrb_close(mrb); return 0; }
1行目 mrubyのAPIを使用する際に必要なヘッダファイル
2行目 mruby/includeをインクルードパスに含める
9行目 mruby VMの初期化
14行目 MRBファイルの読み込み(バイトコード復元)とmruby VMの起動
16行目 mruby VM終了
この後、このアプリケーションをビルドします。
今回はmrubyのセットアップまで進みました。次回はセンサーからの値を取り込みサーバに送るIoTやM2Mの基礎となるアプリを構築してみましょう。
お知らせ
「軽量Ruby・実用化促進ネットワーク」設立総会が2015年7月23日(木)、福岡にて行われます。Ruby開発者 Matzとのトークセッションやmrubyライブコーディング、mrubyのリファレンスボードである「enzi」が当たる抽選会もあるようです。詳しくはこちら 軽量Ruby普及・実用化促進ネットワーク設立記念講演会・交流会をご参照ください。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- “Rubyの良さを組み込みに”を合言葉に開発された「mruby」とは何か
Rubyを軽量化、組み込み向けとして開発された「mruby(軽量Ruby)」が今、IoTでの開発言語として注目されています。Cに比べてコード量を1/4まで低減するmrubyについて、この連載では“mrubyはIoTでこう使え”までを分かりやすく解説します。 - 組み込み開発にも高い生産性を――製造業技術者に“軽量Ruby”「mruby」アピール
コードの肥大化/開発期間短縮/コスト削減などで厳しさを増す組み込みソフトウェア開発に、Rubyの高い生産性が期待されている。ETWest2012の基調講演で、まつもとゆきひろ氏が話題の組み込み機器向け“軽量Ruby”「mruby」について語った。 - 組み込み向けRubyから“不死身”のマイコンまで――Embedded Technology West 2012
組み込み技術展「ET」の関西版「Embedded Technology West(ETWest)2012」が大阪で開催された。スマートエネルギーの専門展との同時開催で例年以上の盛り上がりを見せたETWestから、MONOist編集部が注目した展示をピックアップ。