Fa'asa'olotoina le gagana fa'akomepiuta Lua 5.4

Ina ua mavae le lima tausaga o atinae avanoa tatala Lua 5.4, ose gagana fa'akomepiuta vave ma fa'akomepiuta e fa'aaogaina lautele e avea o se gagana fa'apipi'i (mo se fa'ata'ita'iga, mo le fa'amalamalamaina o le fa'atulagaina po'o le fa'aopoopoina o tusitusiga). O le fa'aliliu upu Lua o lo'o tusia ile C ma tufatufaina e i lalo ole laisene MIT.

Lua tu'ufa'atasia se fa'asologa faigofie fa'asologa ma fa'amatalaga mamana fa'amatalaga fa'amatalaga e ala i le fa'aogaina o feso'ota'iga fa'atasi ma le fa'alauteleina o semantics o le gagana. E fa'aaoga e Lua le lolomi fa'amalosi, fa'aliliu gagana fau ile bytecode e fa'asolo ile pito i luga ole masini fa'akomepiuta e fa'atatau ile resitara ma otometi le aoina o lapisi. O le fa'aliliu upu lava ia ua mamanuina e avea o se faletusi e faigofie ona tu'ufa'atasia i galuega faatino i gagana C ma C++.

tele mea fou:

  • Ua fa'atinoina se faiga fou a le tagata e aoina lapisi - "augatupulaga“, lea na fa'aopoopo i le faiga fa'aopoopo o lapisi sa maua muamua. Ole faiga fou e aofia ai le fa'agasolo fa'apu'upu'u fetolofi, e ufiufi ai na'o mea na faia talu ai nei. Fa'ato'a fa'ataunu'uina se fe'avea'i atoa o mea uma pe a mae'a se ta'amilosaga pu'upu'u, e le'i mafai ona ausia le mana'oga mana'omia. O lenei auala e mafai ai e oe ona ausia le maualuga o le faatinoga ma faʻaitiitia le faʻaaogaina o mafaufauga pe a teuina se numera tele o mea e ola mo sina taimi puupuu.
  • Faʻaopoopo le tomai e faʻamalamalamaina ai fesuiaiga faifaipea faʻamatalaina ma le uiga "const". O ia fesuiaiga e na'o le tasi e mafai ona tu'uina ma, a amata loa, e le mafai ona suia.
  • Fa'aopoopo le lagolago mo fesuiaiga "e-tapuni", o loʻo tuʻuina atu i le faʻaaogaina o le uiga "latalata" ma e pei o suiga faʻapitonuʻu faifaipea (faʻatasi ai ma le const attribute), e ese mai ia i latou ona ua tapunia le tau (o le "__close" metotia e taʻua) soʻo se taimi e alu ese ai le lautele, mo se faʻataʻitaʻiga, pe a maeʻa masani le poloka, suiga e faʻaaoga ai le malologa / goto / toe foʻi pe alu ese pe a tupu se mea sese.
  • Tu'i"tagata faʻaaogaina", lea e maua ai le gafatia e teu ai soʻo se C faʻamatalaga i Lua fesuiaiga (faʻatusaina se poloka o faʻamatalaga i le manatua pe o loʻo i ai se C pointer), e mafai nei ona iai ni tau (e tele metatables).
  • O se fa'atinoga fou o le galuega mo le fa'atupuina o numera pseudorandom ua tu'uina atu - math.random.
  • Faʻaopoopoina se faiga o lapataiga e faʻamoemoeina e faʻaaoga ai le faʻamatalaga lapatai ma, e le pei o mea sese, e le afaina ai le faʻatinoina atili o le polokalame.
  • Fa'aopoopoina fa'amatalaga debugging e uiga i finauga fa'atino ma toe fa'afo'i tau.
  • O se semantics fou ua tuʻuina mai mo le faʻavasegaina o numera i totonu o matasele "mo". Ole numera o fa'asologa e fa'atatau a'o le'i amataina le matasele, lea e 'alofia ai le sosolo ma le fa'asolo. Afai e sili atu le tau muamua nai lo le tau fa'atapula'a, e fa'aalia se mea sese.
  • I galuega 'string.gmatch' fa'aopoopoina se finauga fou 'init', lea e iloa ai po'o le a le tulaga e amata ai le su'esu'ega (e ala i le le mafai, mai le 1 tagata).
  • Fa'aopoopo foliga fou 'lua_resetthread' (toe fa'afou le filo, fa'amama uma le fa'aputuga telefoni ma tapuni uma "to-tapuni" fesuiaiga) ma 'coroutine.close' (tapuni le coroutine ma mea uma e fesoʻotaʻi "e-tapuni" fesuiaiga).
  • O galuega mo le faaliliuina o manoa i numera ua siitia i le faletusi " manoa".
  • O vala'au i le galuega fa'asoa manatua e ono le manuia pe a fa'aititia le tele o poloka manatua.
  • I galuega 'manoa.faatulagaga' fa'aopoopo le lagolago mo le fa'ailoga fou '%p' (fa'asino fa'afo'i mai e lua_topointer).
  • O le faletusi utf8 e maua ai le lagolago fa'ailoga amio ma numera e oo atu i le 2^31.

puna: opennet.ru

Faaopoopo i ai se faamatalaga