امروبی
اِمروبی یک مفسر برای زبان برنامهنویسی روبی است که با هدف سبکوزن بودن طراحی شده و به راحتی قابل پیادهسازی است. ریاست این پروژه را یوکیهیرو ماتسوموتو بر عهده دارد و بیش از ۱۰۰ مشارکتکننده در حال حاضر در این پروژه فعالیت میکنند.
توسعهدهنده(ها) | یوکیهیرو ماتسوموتو et al. |
---|---|
انتشار ابتدایی | ۲۰ آوریل ۲۰۱۲ |
انتشار پایدار | ۲.۱.۰
۱۹ نوامبر ۲۰۱۹ |
مخزن |
|
نوشتهشده با | سی و روبی |
سیستمعامل | چندسکویی |
استاندارد(ها) | ISO/IEC 30170:2012 |
گونه | مفسر زبان برنامهنویسی روبی |
پروانه | پروانه امآیتی |
وبگاه | mruby.org |
ویژگی ها
امروبی ۱.۰ از هسته روبی ۲.۱ پشتیبانی میکند، اما هیچ یک از کتابخانه های استاندارد نیست. امروبی علاوه بر اینکه قادر به اجرای اساسی ترین کد های روبی است، از یک کامپایلر بایتکد و ماشین مجازی و همچنین قابلیت تعبیه و تلفیق آسان در کد سی یا C ++ ، به روشی مشابه لوآ یا تیسیال برخوردار است.
امروبی ۲.۰.۰ پشتیبانی از چندین روش روبی 2.x فراتر از روبی ۲.۱ را اضافه می کند. نسخه ۲.۰.۰ نیز به فرمت دستورالعمل های بایتکد با طول متغیر تغییر یافت.
کد بایت امروبی میتواند در کد C تعبیه بشود، بنابراین می تواند در یک اجرایی مستقل کامپایل شود.
امروبی همچنین قصد دارد با استاندارد ISO / IEC 30170: 2012 سازگار باشد.
مثال ها
فراخوانی 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;
}
با فرض اینکه شما امروبی را نصب کرده اید و در مسیر خود هستید، برنامه زیر را میتوان با اجرای دستور زیر از ترمینال خود کامپایل و اجرا کرد:
$ cc example.c -lmruby -lm -o example $ ./example
بایتکد از پیش کامپایل شده
امروبی شامل یک ماشین مجازی مینیمالیستی است که برای اجرای بایتکد امروبی با نام مستعار ritevm استفاده می شود:
$ mrbc test.rb $ mruby -b test.mrb
اولین دستور، کد روبی را به بایتکد امروبی کامپایل می کند و فایلی به نام "test.mrb" ایجاد می کند، که پس از آن می توان با اضافه کردن پرچم "-b" به آرگومانهای مفسر معمولی، آن را اجرا کرد.
منابع
- ↑ "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.
{{}}
: CS1 maint: numeric names: فهرست نویسندگان (link) - ↑ Aimonetti, Matt (2012-04-25). "Getting started with mruby". Retrieved 2013-12-29.
- ↑ geekmonkey (2012-10-30). "An introduction to Mini Ruby". Archived from the original on 7 July 2015. Retrieved 2013-12-29.