Sakin harshen shirye-shirye na Lua 5.4

Bayan shekaru biyar na ci gaba akwai saki Lua 5.4, Yaren shirye-shiryen rubutu mai sauri da ƙanƙanta wanda aka fi amfani da shi azaman harshe da aka haɗa (misali, don ma'anar daidaitawa ko haɓaka rubutu). An rubuta lambar fassarar Lua a cikin C da rarraba ta karkashin lasisin MIT.

Lua yana haɗa ƙaƙƙarfan tsarin aiki mai sauƙi tare da ikon kwatanta bayanai masu ƙarfi ta hanyar amfani da tsararraki masu alaƙa da ƙayyadaddun tarukan harshe. Lua yana amfani da bugu mai ƙarfi, mai juyar da ginin harshe zuwa bytecode wanda ke gudana a saman injin kama-da-wane mai rijista tare da tarin shara ta atomatik. An ƙirƙira mai fassarar kanta azaman ɗakin karatu wanda za'a iya haɗa shi cikin sauƙi cikin ayyukan cikin harsunan C da C++.

Main sababbin abubuwa:

  • An aiwatar da wani sabon salon aiki na masu tara shara - “tsararraki“, wanda ya dace da yanayin da ake samu a baya na ƙara yanayin tarin shara. Sabuwar yanayin ya ƙunshi tafiyar da gajeriyar rarrafe akai-akai, yana rufe abubuwan da aka ƙirƙira kwanan nan. Ana yin cikakken ƙetare duk abubuwa ne kawai idan, bayan ɗan gajeren tafiya, ba zai yiwu a cimma abin da ake so ƙwaƙwalwar ajiya ba. Wannan tsarin yana ba ku damar cimma babban aiki da rage yawan ƙwaƙwalwar ajiya lokacin adana adadin abubuwa masu rai na ɗan gajeren lokaci.
  • Ƙara ikon ayyana madaidaicin ma'auni da aka ayyana tare da sifa "const". Irin waɗannan masu canji za a iya sanya su sau ɗaya kawai kuma, da zarar an fara, ba za a iya canza su ba.
  • Ƙara goyon baya ga masu canji"za a rufe", waɗanda aka sanya ta hanyar amfani da sifa "kusa" kuma suna kama da masu canji na gida akai-akai (tare da sifa), wanda ya bambanta da su ta yadda darajar ta kasance a rufe (ana kiran hanyar "__close") a duk lokacin da ya bar ikon, misali. bayan gama al'ada na toshe, canzawa ta amfani da hutu/goto/dawowa ko fita lokacin da kuskure ya faru.
  • Rubuta"mai amfani da bayanai", wanda ke ba da ikon adana duk wani bayanan C a cikin masu canji na Lua (yana wakiltar shingen bayanai a cikin ƙwaƙwalwar ajiya ko ya ƙunshi alamar C), yanzu yana iya ƙunsar dabi'u da yawa (suna da metatables da yawa).
  • An gabatar da sabon aiwatar da aikin don samar da lambobin pseudorandom - math.random.
  • Ƙara tsarin gargadi wanda aka ƙaddara ta amfani da furci gargadi kuma, ba kamar kurakurai ba, ba sa shafar ƙarin aiwatar da shirin.
  • Ƙara bayanin kuskure game da gardama na aiki da ƙimar dawowa.
  • An gabatar da wani sabon ma'ana don ƙididdige lamba a madaukai "domin". Ana ƙididdige adadin maimaitawa kafin madauki ya fara, wanda ke guje wa maɓalli mai canzawa da madauki. Idan ƙimar farko ta fi ƙayyadaddun ƙima, ana nuna kuskure.
  • A cikin aiki'zaren.gmatch' ya kara sabon hujja na zaɓi 'init', wanda ke ƙayyade a wane matsayi don fara binciken (ta tsohuwa, daga hali 1).
  • An ƙara sabbin abubuwa 'lua_resetthread' (sake saita zaren, yana share duk tarin kira kuma yana rufe duk masu canjin "za a rufe") da'coroutine.rufe' (ya rufe coroutine da duk abubuwan da ke hade da "za a rufe" masu canji).
  • Ayyukan canza kirtani zuwa lambobi an motsa su zuwa ɗakin karatu na "string".
  • Kira zuwa aikin rabon žwažwalwar ajiya na iya gazawa yanzu idan an rage girman toshe žwažwalwar ajiya.
  • A cikin aiki'kirtani.tsara'Ƙarin goyon baya don sabon ƙayyadaddun ƙayyadaddun tsari'% p' ​​(mai nuni da lua_topointer ya dawo).
  • Laburaren utf8 yana ba da tallafi lambobin haruffa tare da lambobi har zuwa 2^31.

source: budenet.ru

Add a comment