Misplaced Pages

mruby

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Lightweight Ruby language implementation
mruby
Developer(s)Yukihiro Matsumoto et al.
Initial releaseApril 20, 2012; 12 years ago (2012-04-20)
Stable release3.3.0 Edit this on Wikidata / 14 February 2024; 10 months ago (14 February 2024)
Repository
Written inC and Ruby
Operating systemCross-platform
Standard(s)ISO/IEC 30170:2012
TypeRuby programming language interpreter
LicenseMIT License
Websitemruby.org Edit this at Wikidata

mruby is an interpreter for the Ruby programming language with the intention of being lightweight and easily embeddable. The project is headed by Yukihiro Matsumoto, with over 100 contributors currently working on the project.

Features

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 2.0.0 adds support for several Ruby 2.x methods beyond Ruby 2.1. v2.0.0 also changed to variable length bytecode instructions format.

mruby bytecode can be embedded in C code, and thus, can be compiled into a standalone executable.

mruby also aims to be compliant with the ISO/IEC 30170:2012 standard.

Examples

Calling mruby from C

#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 the mruby library and headers are installed, the program can be compiled and executed by running the following commands from the terminal:

$ cc example.c -lmruby -lm -o example
$ ./example

Precompiled Bytecode

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.

References

  1. "Release 3.3.0".
  2. "mruby 3.3.0 released".
  3. "LICENSE". Github. Retrieved 6 September 2019.
  4. ^ "mruby/mruby". GitHub. Retrieved 2018-04-30.
  5. mruby and MobiRuby announced
  6. "mruby 2.0.0 released". mruby.org. Retrieved 2019-04-01.
  7. "Executing Ruby code with mruby". mruby.org. Retrieved 2019-04-01.
  8. "ISO/IEC 30170:2012". ISO. Retrieved 2019-04-01.
  9. Aimonetti, Matt (2012-04-25). "Getting started with mruby". Retrieved 2013-12-29.
  10. geekmonkey (2012-10-30). "An introduction to Mini Ruby". Retrieved 2013-12-29.
Ruby programming language
Implementations
Active
Discontinued
IDE
Applications
Libraries and frameworks
Server software
People
Other
Categories: