ام‌روبی

ام‌روبی
توسعه‌دهنده(ها)یوکیهیرو ماتسوموتو et al.
انتشار اولیه۲۰ آوریل ۲۰۱۲؛ ۱۲ سال پیش (۲۰۱۲-20}})
انتشار پایدار
۲.۱.۰ / ۱۹ نوامبر ۲۰۱۹؛ ۴ سال پیش (۲۰۱۹-19}})[۱]
مخزن
نوشته‌شده باسی و روبی
سیستم‌عاملچندسکویی
استاندارد(ها)ISO/IEC 30170:2012
نوعمفسر زبان برنامه‌نویسی روبی
مجوزپروانه ام‌آی‌تی[۲]
وبگاه

اِم‌روبی یک مفسر برای زبان برنامه‌نویسی روبی است که با هدف سبک‌وزن بودن طراحی شده و به راحتی قابل پیاده‌سازی است. [۳] [۴] ریاست این پروژه را یوکیهیرو ماتسوموتو بر عهده دارد و بیش از ۱۰۰ مشارکت‌کننده در حال حاضر در این پروژه فعالیت می‌کنند.

ویژگی ها

[ویرایش]

ام‌روبی ۱.۰ از هسته روبی ۲.۱ پشتیبانی می‌کند، اما هیچ یک از کتابخانه های استاندارد نیست. ام‌روبی علاوه بر اینکه قادر به اجرای اساسی ترین کد های روبی است، از یک کامپایلر بایت‌کد و ماشین مجازی و همچنین قابلیت تعبیه و تلفیق آسان در کد سی یا 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" به آرگومان‌های مفسر معمولی، آن را اجرا کرد. [۹]

منابع

[ویرایش]
  1. "mruby releases". Retrieved 8 January 2020 – via GitHub.
  2. "LICENSE". Github. Retrieved 6 September 2019.
  3. ۳٫۰ ۳٫۱ "mruby/mruby". GitHub. Retrieved 2018-04-30. خطای یادکرد: برچسب <ref> نامعتبر؛ نام «GitHub» چندین بار با محتوای متفاوت تعریف شده است. (صفحهٔ راهنما را مطالعه کنید.).
  4. mruby and MobiRuby announced
  5. "mruby 2.0.0 released". mruby.org. Retrieved 2019-04-01.
  6. "Executing Ruby code with mruby". mruby.org. Retrieved 2019-04-01.
  7. 14:00-17:00. "ISO/IEC 30170:2012". ISO (به انگلیسی). Retrieved 2019-04-01.{{cite web}}: CS1 maint: numeric names: فهرست نویسندگان (link)
  8. Aimonetti, Matt (2012-04-25). "Getting started with mruby". Retrieved 2013-12-29.
  9. geekmonkey (2012-10-30). "An introduction to Mini Ruby". Archived from the original on 7 July 2015. Retrieved 2013-12-29.