امروبی
امروبی یک مفسر برای زبان برنامهنویسی روبی است که با نیت سبکوزن بودن طراحی شده و به راحتی قابل جاسازی است. [3] [4] ریاست این پروژه را یوکیهیرو ماتسوموتو بر عهده دارد و بیش از ۱۰۰ مشارکتکننده در حال حاضر روی این پروژه کار میکنند.
![]() | |
توسعهدهنده(ها) | یوکیهیرو ماتسوموتو et al. |
---|---|
انتشار ابتدایی | ۲۰ آوریل ۲۰۱۲ |
انتشار پایدار | |
مخزن | |
نوشتهشده با | سی و روبی |
سیستمعامل | چندسکویی |
استاندارد(ها) | ISO/IEC 30170:2012 |
گونه | مفسر زبان برنامهنویسی روبی |
پروانه | پروانه امآیتی[2] |
وبگاه |
ویژگی ها
امروبی ۱.۰ از هسته روبی ۲.۱ پشتیبانی میکند، اما هیچ یک از کتابخانه های استاندارد نیست. امروبی علاوه بر اینکه قادر به اجرای اساسی ترین کد های روبی است، از یک کامپایلر بایتکد و ماشین مجازی و همچنین قابلیت تعبیه و تلفیق آسان در کد سی یا C ++ ، به روشی مشابه لوآ یا تیسیال برخوردار است.
امروبی ۲.۰.۰ [5] پشتیبانی از چندین روش روبی 2.x فراتر از روبی ۲.۱ را اضافه می کند. نسخه ۲.۰.۰ نیز به فرمت دستورالعمل های بایتکد با طول متغیر تغییر یافت.
کد بایت امروبی میتواند در کد C تعبیه بشود، بنابراین می تواند در یک اجرایی مستقل کامپایل شود. [6]
امروبی همچنین قصد دارد [3] با استاندارد ISO / IEC 30170: 2012 سازگار باشد. [7]
مثال ها
فراخوانی mruby از 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;
}
با فرض اینکه شما امروبی را نصب کرده اید و در مسیر خود هستید، برنامه زیر را میتوان با اجرای دستور زیر از ترمینال خود کامپایل و اجرا کرد: [8]
$ cc example.c -lmruby -lm -o example $ ./example
بایتکد از پیش کامپایل شده
امروبی شامل یک ماشین مجازی مینیمالیستی است که برای اجرای بایتکد امروبی با نام مستعار ritevm استفاده می شود:
$ mrbc test.rb $ mruby -b test.mrb
اولین دستور، کد روبی را به بایتکد امروبی کامپایل می کند و فایلی به نام "test.mrb" ایجاد می کند، که پس از آن می توان با اضافه کردن پرچم "-b" به آرگومانهای مفسر معمولی، آن را اجرا کرد. [9]
منابع
- "mruby releases". Retrieved 8 January 2020 – via GitHub.
- "LICENSE". Github. Retrieved 6 September 2019.
- "mruby/mruby". GitHub. Retrieved 2018-04-30.
- mruby and MobiRuby announced
- "mruby 2.0.0 released". mruby.org. Retrieved 2019-04-01.
- "Executing Ruby code with mruby". mruby.org. Retrieved 2019-04-01.
- 14:00-17:00. "ISO/IEC 30170:2012". ISO. Retrieved 2019-04-01.
- 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.