Динамикалық объектілі-бағытталған бағдарламалау тілі Ruby үшін ендірілетін интерпретатор mruby 3.0 шығарылды. Mruby Ruby 1.9-мен синтаксистік үйлесімділікті қамтамасыз етеді, сонымен қатар жаңа нұсқалардағы кейбір мүмкіндіктерді қолдайды. Interpretator жадты аз тұтынады және басқа қолданбаларға ендірілу мүмкіндігіне ие. Сонымен қатар, ол жоба әзірлеген "mrbc" компиляторын пайдаланып, Ruby бағдарламаларын байткодқа компиляциялауды қолдайды. mruby коды MIT лицензиясы бойынша таратылады.
Жаңа шығарылым mruby VM жад тұтынуын айтарлықтай азайтты. Алдыңғы нұсқалар бірнеше жүз КБ жедел жадты қажет етсе, mruby 3.0 шамамен 100 КБ жедел жадты тұтынады. Негізгі жақсартулар:
- Symbol класының нысандары үшін жад бөлуді оңтайландыру арқылы жедел жадты тұтыну азайды. Hash класының нысандары үшін жадты тұтыну азайды. Әдіс шақырулары оңтайландырылды.
- «end» кілт сөзін пайдаланбай бір жолды әдісті анықтауға қолдау қосылды: def square(x) = x * x
- Оң жақ мәнді тағайындау үшін қолданылатын "=>" (мәндер => айнымалы) операторы қосылды. 0 => apa #=> 0 {b: 0, c: 1} => {b:} pb #=> 0
- Гередоктарды құруды қолдау.
- Интерпретатор құрастыру файлдары жаңартылды. gprof көмегімен компиляция қосылды. GCC енді 64 биттік платформаларда 32 биттік режимде құрастыра алады. Clang-ке мекенжайды тазартқыш қолдауы қосылды.
- Негізгі өзгеріс: RITE_VM_VER тұрақтысының енді 0300 мәні бар, ал RITE_BINARY_FORMAT_VER енді 0200 мәніне ие, бұл алдыңғы нұсқалардағы байткодтың орындалуына жол бермейді.
- Fixnum класы Ruby 3.0 сияқты Integer класының құрамына енді. Integral класы жойылды.
Ақпарат көзі: opennet.ru
