Bol vydaný mruby 3.0, embeddovateľný tlmočník pre dynamický objektovo orientovaný programovací jazyk Ruby. Mruby poskytuje kompatibilitu syntaxe na úrovni Ruby 1.9, ale podporuje aj určité funkcie z novších verzií. Tlmočník sa vyznačuje nízkou spotrebou pamäte a možnosťou zabudovania do iných aplikácií. Okrem toho je kompilácia programov Ruby do bajtkódu podporovaná pomocou kompilátora mrbc vyvinutého v rámci projektu. Kód mruby je distribuovaný pod licenciou MIT.
Nové vydanie výrazne znížilo spotrebu pamäte používanej v mruby VM. Predchádzajúce verzie vyžadovali niekoľko stoviek KB RAM, zatiaľ čo mruby 3.0 spotrebuje približne 100 KB RAM. Hlavné vylepšenia:
- Znížená spotreba pamäte RAM optimalizáciou prideľovania pamäte pre objekty triedy Symboly. Znížená spotreba pamäte objektov triedy Hash. Volania metód boli optimalizované.
- Pridaná podpora pre definíciu jednoriadkovej metódy bez použitia kľúčového slova „end“: def square(x) = x * x
- Pridaný operátor "=>" (hodnoty => premenná), ktorý sa používa na priraďovanie hodnôt pravou rukou. 0 => apa #=> 0 {b: 0, c: 1} => {b:} pb #=> 0
- Podpora výstavby heredocov.
- Aktualizované súbory zostavy tlmočníka. Pridaná kompilácia s gprof. GCC môže teraz stavať v 32-bitovom režime na 64-bitových platformách. Pridaná podpora pre Address Sanitizer v clang.
- Zmena, ktorá narúša kompatibilitu: konštanta RITE_VM_VER je teraz 0300 a RITE_BINARY_FORMAT_VER je 0200, čo vylučuje možnosť spustenia bajtkódu z predchádzajúcich verzií.
- Trieda Fixnum sa stala súčasťou Integer, rovnako ako v Ruby 3.0. Odstránená trieda Integral.
Zdroj: opennet.ru
