Megtörtént az mruby 3.0, a Ruby dinamikus objektum-orientált programozási nyelv beágyazott értelmezőjének kiadása. A Mruby szintaktikai kompatibilitást biztosít a Ruby 1.9 szintjén, de támogatja az újabb verziók kiválasztott funkcióit is. A tolmácsot alacsony memóriafogyasztás és más alkalmazásokba való beágyazhatóság jellemzi. Ezenkívül a Ruby programok bájtkódba fordítását a projekt által kifejlesztett „mrbc” fordító támogatja. A mruby kódot az MIT licence alatt terjesztik.
Az új kiadás jelentősen csökkenti a mruby virtuális gép memóriafelhasználását. A korábbi verziók több száz KB RAM-ot igényeltek, az mruby 3.0 pedig körülbelül 100 KB RAM-ot. Főbb fejlesztések:
- Csökkentett RAM-felhasználás a Symbols osztályba tartozó objektumok memóriafoglalásának optimalizálásával. A Hash osztályú objektumok csökkentett memóriafelhasználása. A módszerhívások optimalizálva lettek.
- Az egysoros metódusdefiníció támogatása az "end" kulcsszó használata nélkül: def square(x) = x * x
- Hozzáadott "=>" operátor (értékek => változó), amely az értékek jobbkezes hozzárendelésére szolgál. 0 => apa #=> 0 {b: 0, c: 1} => {b:} pb #=> 0
- Heredocs tervezési támogatás.
- A tolmács build fájlok frissítve. Hozzáadott összeállítás a gprof-val. A GCC mostantól 32 bites módban is tud fordítani 64 bites platformokon. Támogatás hozzáadva az Address Sanitizer-hez csörgőben.
- Kompatibilitási változás: a RITE_VM_VER állandó értéke 0300, a RITE_BINARY_FORMAT_VER pedig 0200, ami kiküszöböli a korábbi verziók bájtkódjának végrehajtását.
- A Fixnum osztály az Integer részévé vált, akárcsak a Ruby 3.0-ban. Az Integral osztály eltávolítva.
Forrás: opennet.ru
