mruby
| Developer(s) | Yukihiro Matsumoto et al. |
|---|---|
| Stable release |
1.3.0 / July 4, 2017
|
| Repository | github |
| Development status | Active |
| Written in | C and Ruby |
| Operating system | Cross-platform |
| Type | Ruby programming language interpreter |
| License | MIT License |
| Website | www |
mruby is an interpreter for the Ruby programming language with the intention of being lightweight and easily embeddable.[1][2] The project is headed by Yukihiro Matsumoto, with over 100 contributors currently working on the project.
Features[edit]
mruby 1.0 supports the Ruby 2.1 core API but none of the standard library. As well as being able to execute most basic Ruby code, mruby also features a bytecode compiler and virtual machine, as well as the ability to be easily embedded and integrated into C or C++ code, in a similar manner to Lua or Tcl.
mruby also aims to be compliant with the ISO/IEC 30170:2012 standard.[1]
Examples[edit]
Calling mruby from C[edit]
#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;
}
Assuming that you have mruby installed and in your path, the following program can be compiled and executed by running the following command from your terminal:[3]
$ cc example.c -lmruby -lm -o example $ ./example
Precompiled Bytecode[edit]
mruby includes a minimalistic virtual machine used to execute mruby bytecode, nicknamed ritevm:
$ mrbc test.rb $ mruby -b test.mrb
The first command compiles Ruby code to mruby bytecode, creating a file called "test.mrb", which can then be executed by appending the "-b" flag to the normal interpreter arguments.[4]
References[edit]
- ^ a b "mruby/mruby". GitHub. Retrieved 2013-12-29.
- ^ mruby and MobiRuby announced
- ^ Aimonetti, Matt (2012-04-25). "Getting started with mruby". Retrieved 2013-12-29.
- ^ geekmonkey (2012-10-30). "An introduction to Mini Ruby". Retrieved 2013-12-29.
| This free-software-related article is a stub. You can help Wikipedia by expanding it. |
