Mruby

mruby
Información general
Tipo de programa implementación de lenguaje de programación
Desarrollador Yukihiro Matsumoto.
Lanzamiento inicial 20 de abril de 2012 (12 años, 6 meses y 27 días)
Licencia Licencia MIT
Información técnica
Programado en C
Estándares ISO/IEC 30170:2012
Versiones
Última versión estable 3.3.0 ( 14 de febrero de 2024 (9 meses y 3 días)[1]​)
Enlaces

mruby es una implementación del lenguaje de programación Ruby, creada con la intención de ser ligera y fácilmente integrable.[2]​ El desarrollo está liderado por Yukihiro Matsumoto con más de 100 colaboradores trabajando actualmente en el proyecto.

Características

[editar]

mruby 1.0 soporta la API de Ruby 2.1, pero no la librería estándar. Además de poder ejecutar código Ruby básico. También tiene un compilador bytecode y una máquina virtual integrada, en conjunto con la posibilidad de ser fácilmente integrado con programas hechos en C o C++. De manera similar a Lua o Tcl.

mruby 2.0[3]​ añade soporte a varios métodos de Ruby 2.x más allá de Ruby 2.1, además también se modificó el formato de instrucciones bytecode.

El bytecode de mruby puede ser integrado fácilmente en código C, y por lo tanto es posible compilarlo en un ejecutable.[4]

mruby se desarrolla para ser compatible con el estándar ISO/IEC 30170:2012.[5]

Ejemplos

[editar]

mruby desde C

[editar]
#include <stdio.h>
#include <mruby.h>
#include <mruby/compile.h>

int main(void) {
    mrb_state *mrb = mrb_open();
    char codigo[] = "5.times { puts 'MRuby es increible!' }";
    
    printf("Ejecutando codigo Ruby con MRuby\n");
    mrb_load_string(mrb, codigo);
    
    mrb_close();
    return 0;
}

Asumiendo que la librería y encabezados de mruby estén instalados, este programa puede ser compilado y ejecutado con los siguientes comandos en una terminal:

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

Bytecode Precompilado

[editar]

mruby incluye una máquina virtual mínima para ejecutar bytecode compilado con mruby, llamada RiteVM:

mrbc test.rb
mruby -b test.mrb

El primer comando compila el código Ruby en bytecode de mruby, creando un archivo llamado "test.mrb", que luego puede ser ejecutado con el intérprete usando el indicador "-b" .[6]

Referencias

[editar]
  1. https://mruby.org/releases/2024/02/14/mruby-3.3.0-released.html
  2. «mruby and mobiruby». matt.aimonetti.net (en inglés estadounidense). 20 de abril de 2012. Consultado el 1 de octubre de 2023. 
  3. «mruby 2.0.0 released». mruby.org (en inglés). Consultado el 1 de octubre de 2023. 
  4. «Executing Ruby code with mruby». mruby.org (en inglés). Consultado el 1 de octubre de 2023. 
  5. 14:00-17:00. «ISO/IEC 30170:2012». ISO (en inglés). Consultado el 1 de octubre de 2023. 
  6. «Executing Ruby code with mruby». mruby.org (en inglés). Consultado el 1 de octubre de 2023. 

Enlaces externos

[editar]