Ndodhi publikimi i mruby 3.0, një interpretor i integruar i gjuhës dinamikisht objektiv-orientuar Ruby. Mruby siguron qëndrueshmëri sintaksore në nivelin e Ruby 1.9, por gjithashtu mbështet disa karakteristika nga versione më të reja. Interpretuesi karakterizohet nga konsum i ulët të memories dhe mundësia e integrimit në aplikacione të tjera. Për më tepër, mbështetet kompilimi i programeve Ruby në kod të bajto, me ndihmën e kompilatorit "mrbc" që zhvillohet nga projekti. Kodi mruby shpërndahet nën licencën MIT.
Në këtë version të ri, është reduktuar ndjeshëm konsumimi i memories që përdoret në mruby VM. Versionet e mëparshme kërkonin disa qindra KB RAM, ndërsa mruby 3.0 konsumon rreth 100 KB RAM.
- Konsumi i memories Ă«shtĂ« reduktuar pĂ«rmes optimizimit tĂ« alokimit tĂ« memories pĂ«r objektet e klasĂ«s Symbols. Konsumi i memories pĂ«r objektet e klasĂ«s Hash Ă«shtĂ« zvogĂ«luar. ĂshtĂ« kryer optimizimi i thirrjeve tĂ« metodave.
- Shtuar mbështetje për definimin një-linjësh të metodës pa përdorimin e fjalës kyçe "end": def square(x) = x * x
- Shtuar operatori "=>" (vlerat => variabla), i cili përdoret për caktimin e vlerave nga e djathta. 0 => a p a #=> 0 {b: 0, c: 1} => {b:} p b #=> 0
- Mbështetje për konstruktin heredocs.
- JanĂ« pĂ«rditĂ«suar skedarĂ«t e ndĂ«rtimit tĂ« interpretorit. Shtuar kompilimi me gprof. GCC tani mund tĂ« pĂ«rgatisĂ« nĂ« modin 32-bit nĂ« platformat 64-bit. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r Address Sanitizer nĂ« clang.
- Ndryshimi që dëmton qëndrueshmërinë: konstanta RITE_VM_VER tani ka vlerën 0300, ndërsa RITE_BINARY_FORMAT_VER është 0200, që përjashton mundësinë e ekzekutimit të kodit të bajto nga versionet e kaluara.
- Klasifikimi Fixnum është bërë pjesë e Integer, ashtu si në Ruby 3.0. Klasifikimi Integral është eliminuar.
Burimi: opennet.ru
