Mruby 3.0 har slÀppts, en inbyggd tolk för det dynamiska objektorienterade programmeringssprÄket Ruby. Mruby sÀkerstÀller syntaktisk kompatibilitet med Ruby 1.9, men stöder ocksÄ vissa funktioner frÄn nyare versioner. Tolken kÀnnetecknas av lÄg minnesförbrukning och möjligheten att integreras i andra applikationer. Dessutom stöds kompileringsprogram för Ruby-program till bytekod genom den utvecklade mjukvaran 'mrbc'. Koden för mruby distribueras under MIT-licensen.
I den nya versionen har minnesanvÀndning i mruby VM minskats avsevÀrt. Tidigare versioner krÀvde flera hundra KB RAM, medan mruby 3.0 förbrukar cirka 100 KB RAM.
- Minimalt minnesanvÀndning genom optimering av minneallokering för objekt av klassen Symbols. Minskad minnesanvÀndning för objekt av klassen Hash. Optimering av metodanrop har genomförts.
- Stöd för en rad metoder utan att anvÀnda nyckelordet 'end' har lagts till: def square(x) = x * x
- Operatören '=>' (vÀrden => variabel) har lagts till, som anvÀnds för högerbindande tilldelning av vÀrden. 0 => a p a #=> 0 {b: 0, c: 1} => {b:} p b #=> 0
- Stöd för heredocs-konstruktioner.
- Byggfilerna för tolken har uppdaterats. Kompilering med gprof har lagts till. GCC kan nu kompilera i 32-bitarslÀge pÄ 64-bitarsplattformar. Stödet för Address Sanitizer med clang har introducerats.
- Kompatibilitetsbrott: konstanten RITE_VM_VER har nu vÀrdet 0300, medan RITE_BINARY_FORMAT_VER Àr 0200, vilket utesluter körning av bytekod frÄn tidigare versioner.
- Klassen Fixnum har blivit en del av Integer, precis som i Ruby 3.0. Klassen Integral har tagits bort.
KĂ€lla: opennet.ru
