|
以前のバージョンのダウンロード
Stable v 1.0 download (Jan. 2014) Stable v 1.1 download(Nov. 2014) Stable v 1.2 download(Nov. 2015)
Stable v 1.3 download(July. 2017) Stable v 1.4.1 download(Apr. 2018) momo-mruby download
mruby Stable版2.0.0(2018.12.11)は下記のリンクからダウンロード出来ます。
mrubyをインストールするにあたり以下のソフトウェアがインストールされていることを ご確認ください ・bison http://www.gnu.org/software/bison/ ・Ruby v2.0以上 mruby download links mruby Stable版 v2.0.0 Linux/Mac版 mruby Stable版 v2.0.0.0 Windows版 Windows版のインストールには上記の必要ソフトウェアの他にCコンパイラーが必要です。
mruby2.0.0 リリースノート
Linux/Mac/Windows安定版で評価済外部mrbgemsリスト 〇: 動作OK ●:ビルドOK ただしユニットテストNG mruby 2.0.0 リリース
mruby 2.0シリーズの最初の安定版、mruby 2.0.0がリリースされました。
mruby 2.0.0には、Ruby 2.0系の互換性を高めるための新しい機能や、省メモリ化の改善が含まれます。
---
新機能
言語コア機能
・キーワード引数が追加されました (Ruby 2.0互換)
・引数展開がサポートされました
コアライブラリ
mruby-kernel-ext
・ `Kernel#yield_self` のエイリアスとして `Kernel#then` が追加されました (Ruby 2.6互換)
mruby-array-ext
・ `Array#to_h` がブロック付きで呼び出せるようになりました (Ruby 2.6互換)
・ `Array#union` が追加されました (Ruby 2.6互換)
mruby-string-ext
・`String#lines` がブロック付きで呼び出せるようになりました
・以下のメソッドが追加されました
`String#tr`, `String#tr!`, `String#tr_s`, `String#tr_s!`, `String#squeeze`, `String#squeeze!`, `String#count`, `String#delete`, `String#delete!`
mruby-pack
・`String#unpack1` が追加されました
mruby-metaprog
コアに組み込まれていたメタプログラミングの機能がmrbgemとして分離されました。mrubyでメタプログラミングを行う場合には `mruby-metaprog` を組み込む必要があります。(詳細は `非互換について` を参照ください)
mruby-sleep
matsumotory/mruby-sleepがコアライブラリに組み込まれ、
`Kernel#sleep`, `Kernel#usleep` が利用できるようになりました。
ツール群
mrubyコンパイラ (mrbc)
・ `--remove-lv` オプションが追加されました
`--remove-lv` オプションを指定すると、コンパイル時のローカル変数情報(デバッグ用途)の生成を抑制します。
mrubyバイナリサイズが小さくなるとともに、アプリケーションバイナリがメモリ上にロードされた際のRAM使用量を削減できます。
mrubyインタプリタ (mruby)
・`-d` オプションが追加されました
`-d` オプションを指定すると、スクリプトがデバッグモード($DEBUG=true)で実行されます。
・`-r` オプションが追加されました
`-r library` オプションを指定すると、スクリプトの実行前に、指定したライブラリ(スクリプト)が読み込まれます。
インタラクティブmruby (mirb)
・`-d` オプションが追加されました (`mruby -d` と同様)
・ `-r` オプションが追加されました (`mruby -r` と同様)
---
省メモリ対応
mruby 2.0.0 では、実行時に必要なRAM使用量を削減するための改善が行われました。
- インスタンス変数の管理をkhashからセグメントリストに変更
- Hash実装をkhashからセグメントリストに変更
- mrubyコンパイラ(mrbc)に `--remove-lv` オプションを追加
- その他、使用するスタックサイズやVM管理情報の省メモリ化
---
非互換について
mruby 1.4.1との大きな非互換は下記の2点です。
1. バイトコードの刷新
mruby VMのバイトコードが刷新されました。
mruby 1.4.1までは固定長のバイトコード(ワードコード)でしたが、mruby 2.0.0では可変長のバイトコードが採用されました。
mruby 1.4.1までのバイトコードと互換性がないことに注意してください。
- バイナリフォーマット: `0005`
- VMバージョン: `0002`
2. メタプログラミング機能のmrbgem化
組込みシステム開発では、メタプログラミングが余り使われないという仮定し、メタプログラミングの機能をコアから標準mrbgem(`mruby-metaprog`)に分離しました。
mruby-metaprogに移動したメソッドを以下に示します。
- Kernelモジュール
global_variables, local_variables, singleton_class, instance_variables, instance_variables_defined?, instance_variable_get, instance_variable_set, methods, private_methods, public_methods, protected_methods, singleton_methods, define_singleton_methods, send
- Moduleクラス
class_variables, class_variables_defined?, class_variable_get, class_variable_set, remove_class_variable, included_modules, instance_methods, remove_method, method_removed, constants
- Moduleクラス (特異メソッド)
constants, nesting
3. to_intとto_strによる暗黙の変換の廃止
メソッドto_intまたはto_strを持つオブジェクトは、それぞれ整数または文字列に変換されなくなりました。 これらの暗黙の変換は再帰的なVM呼び出しを引き起こし、多くのバグの原因となっていました。
---
mruby 2.0.0では、mruby 1.4.1以降に378回の更新が行われ、156のファイルに対して7,949行の追加、5,430行の削除が行われました。
更新内容の詳細については、コミットログを参照してください。
上記外部mrbgemsは以下のOSによって評価されています。
・Mac OSX macOS Sierra 10.13.6
gcc (Apple LLVM version 10.0.0 (clang-1000.11.45.5))
・Ubuntu 18.04 LTS
gcc (Ubuntu 7.3.0-27ubuntu1-18.04) 7.3.0
・Microsoft Windows 7 Professional SP1
・Microsoft Windows 10 April 2018 Update(Version 1803)
Visual C++
Windows Visual Sudio 2017 Community
Microsoft(R) C/C++ Optimizing Compiler Version 19.15.26732 for x86
MinGW
MINGW32_NT-6.2 1.0.19(0.48/3/2) 2016-07-13 17:45 i686 Msys
gcc.exe (MinGW.org GCC-6.3.0-1) 6.3.0
その他のダウンロード先
mruby Community
mrubyデバッガマニュアル(日本語)
mrubyデバッガーに関するお問い合わせ先:debugger@mruby.org まで