mruby 3.0, muturikiri anogona kuiswa muRuby, mumutauro wekushandura mapurogiramu unoshandiswa nechinhu, waburitswa. Mruby inopa kudyidzana kwemazwi neRuby 1.9, asi inotsigirawo zvimwe zvinhu kubva mushanduro itsva. Muturikiri uyu ane ndangariro shoma uye kugona kuiswa mune mamwe maapplication. Uyezve, anotsigira kuunganidza mapurogiramu eRuby kuita bytecode uchishandisa "mrbc" compiler yakagadzirwa neprojekti. Kodhi yemruby inogoverwa pasi pelayisensi yeMIT.
Kuburitswa kutsva uku kunoderedza zvakanyanya kushandiswa kwememori yemruby VM. Mavhezheni ekare aida mazana akati wandei eRAM, nepo mruby 3.0 ichidya inosvika 100 KB yeRAM. Kuvandudzwa kukuru:
- Kushandiswa kweRAM kwaderedzwa nekushandisa memori zvakanaka pazvinhu zveSymbol class. Kushandiswa kwememori kwezvinhu zveHash class kwaderedzwa. Kufona kwenzira kwakagadziridzwa.
- Yakawedzerwa rutsigiro rwetsanangudzo yenzira yemutsara mumwe chete pasina kushandisa izwi rekuti "magumo": def square(x) = x * x
- Yakawedzera "=>" (values => variable) operator, iyo inoshandiswa pakugovera kukosha kurudyi. 0 => apa #=> 0 {b: 0, c: 1} => {b:} pb #=> 0
- Rutsigiro rwekuvakwa kwedzidziso dzechitendero dzeheredocs.
- Mafaira ekuvaka muturikiri agadziriswa. Kuunganidzwa ne gprof kwawedzerwa. GCC ikozvino inogona kuvaka mu 32-bit mode pamapuratifomu e 64-bit. Rutsigiro rweAddress Sanitizer rwawedzerwa ku clang.
- Kuchinja kunoshamisa: RITE_VM_VER constant ikozvino yava kukosha 0300, uye RITE_BINARY_FORMAT_VER ikozvino yava kukosha 0200, izvo zvinodzivirira kuitwa kwe bytecode kubva mushanduro dzakapfuura.
- Kirasi yeFixnum yava chikamu cheInteger, sezvakangoita muRuby 3.0. Kirasi yeIntegral yabviswa.
Source: opennet.ru
