Mruby
 ウィキデータを編集
Mrubyのロゴマーク
作者 まつもとゆきひろ
開発元 まつもとゆきひろ
初版 2012年4月20日 (14年前) (2012-04-20)
最新版
ウィキデータを編集
安定版
4.0.0[1] / 2026年4月20日 (60日前)
リポジトリ ウィキデータを編集
プログラミング
言語
C言語Ruby
対応OS クロスプラットフォーム
プラットフォーム 組み込みシステム
サポート状況 サポート中
種別 RubyインタプリタIoT
ライセンス MITライセンス
公式サイト mruby.org ウィキデータを編集
テンプレートを表示

mruby (エムルビー) は、組み込みシステム向けの軽量なRuby言語処理系である[2]。このプロジェクトはRubyの開発者であるまつもとゆきひろがリーダーを務めており、100人以上がこのプロジェクトに貢献している。

機能

編集

mruby 1.0ではRuby 2.1のコアAPIをサポートしているが、逆に標準ライブラリはサポートしていない。 mrubyは基本的なRubyコードの実行に加えて、スクリプト言語およびその処理系の実装であるLuaのようにC言語C++に簡単に組み込むことができる仕様である。

mrubyは「ISO/IEC 30170:2012」に準拠することを目標としている[2]

編集
C言語からmrubyを呼び出す場合
#include <stdio.h>
#include <mruby.h>
#include <mruby/compile.h>

int main(void) {
    mrb_state *mrb = mrb_open();
    char code[] = "5.times { puts 'mruby is awesome!' }";

    printf("Executing Ruby code with mruby:\n");
    mrb_load_string(mrb, code);

    mrb_close(mrb);
    return 0;
}
以下のコマンドでコンパイルと実行ができる[3]
$ cc example.c -lmruby -lm -o example
$ ./example
プリコンパイルされたバイトコード
mrubyにはmrubyバイトコードを実行するための最小限の仮想マシンが組み込まれている。
$ mrbc test.rb
$ mruby -b test.mrb
最初のコマンドはRubyコードをmrubyバイトコードにコンパイルを実行し、「test.mrb」というファイルが生成される。このファイルはmrubyインタプリタにコマンドライン引数として「-b」を渡すことで実行することができる[4]

脚注

編集
  1. ^ Release 4.0.0” (2026年4月20日). 2026年4月22日閲覧。
  2. ^ a b mruby”. mruby.org. 2019年9月25日閲覧。
  3. ^ Getting Started With Mruby”. 2018年7月19日閲覧。
  4. ^ An Introduction to Mini Ruby”. 2018年7月19日閲覧。

関連項目

編集

外部リンク

編集

📚 Artikel Terkait di Wikipedia

Ruby

作するため、プラットフォーム非依存の利用も可能。ただし、.NET Frameworkのライブラリに依存している場合、Monoでの動作は不可能。 mruby - 組み込みシステム向けの軽量版。家電製品、スマートフォン、コンピュータゲームなどでの使用を想定。 仮想マシン上で動作する実装 GraalVMによる実装

H2O (Webサーバ)

前方秘匿性及び高速な認証付き暗号である暗号スイート 特権分離(英語版)を利用した秘密鍵の保護 静的ファイルの提供 FastCGIのサポート リバースプロキシ mrubyによる拡張 (Rackベース) 緩やかな再起動と自己アップグレード H2Oは000000002014-07-01-00002014年7月にDeN

Windowsランタイム

Basic - UWP applications | Microsoft Docs ^ 第2回 Windowsランタイム・コンポーネントの作成とmrubyのコンパイル:連載:Windowsランタイム・コンポーネントによるコードの再利用(1/3 ページ) - @IT ^ Collections (C++/CX)

ESP32

Espressif development framework for ESP32. Lua RTOS for ESP32 Mongoose OS mruby for the ESP32 PlatformIO Ecosystem and IDE Pymakr Simba Embedded Programming

Mruby/c

mruby/c(エムルビー・スラッシュ・シー)は、オブジェクト指向スクリプト言語「Ruby」を組み込みシステム向けに軽量化した「mruby」よりプログラム実行時に必要なメモリ消費量が少ないプログラミング言語処理系である。プログラム実行時に必要なメモリ消費量は約40KBと小さく、リソースに制約のあるワンチップマイコン上でも動作する。

Smallest Set Profile

ソースコードを少しにして「シュリンク版」としてラズベリーパイ で動作させたほか、ルネサスの開発環境のシミュレータで動作させる版も公開している。また、mrubyを走らせるRuby OSをSSPとの組合わせで企画している。 『FM3マイコンで試す わずかROM 3KバイトRAM 24バイトで動く リアルタイムOS「TOPPERS/SSP」誕生

ヴィクシオン

12月10日:中国で販売開始。日本国外では初の海外展開となる。 12月13日:「ViXion01S」のファームウェア開発において、軽量スクリプト言語mruby/cが採用された。 2025年 2月5日:「ViXion01S」が「GREEN AWARD 2024」でPLATINUMアワード受賞。PLATINUMアワード受賞は2年連続となる。

日本OSS奨励賞

LinuxカーネルDevice-mapperのキャッシュdm-writeboostの開発 松尾隆利 HAクラスタソフトPacemakerと、PostgreSQLの連携機能の開発 松本亮介 mrubyやmod_mruby、ngx_mruby開発への貢献 盧亦愷 現役高校生としてのQt開発などOSS開発活動への貢献