Hoʻokuʻu ʻia ka ʻōlelo hoʻolālā Lua 5.4

Ma hope o ʻelima mau makahiki o ka hoʻomohala ʻana loaʻa hoʻokuʻu Lua 5.4, he ʻōlelo hoʻolālā palapala wikiwiki a paʻa i hoʻohana nui ʻia ma ke ʻano he ʻōlelo i hoʻopili ʻia (no ka laʻana, no ka wehewehe ʻana i ka hoʻonohonoho ʻana a i ʻole ke kākau ʻana i nā mea hoʻonui). Ua kākau ʻia ka helu unuhi ʻōlelo Lua ma C a mahele ʻia e ma lalo o ka laikini MIT.

Hoʻohui ʻo Lua i kahi syntax kaʻina hana maʻalahi me nā mana wehewehe ʻikepili ikaika ma o ka hoʻohana ʻana i nā hui hui a me nā semantics e hoʻonui ʻia o ka ʻōlelo. Hoʻohana ʻo Lua i ka paʻi paʻi ʻana, e hoʻololi ana i nā kūkulu ʻōlelo i bytecode e holo ana ma luna o kahi mīkini maʻemaʻe i hoʻopaʻa inoa me ka hōʻiliʻili ʻōpala. Hoʻolālā ʻia ka unuhi ʻōlelo ponoʻī ma ke ʻano he waihona i hiki ke hoʻohui maʻalahi i nā papahana ma ka ʻōlelo C a me C++.

ka papa kuhikuhiE nā mea hou:

  • Ua hoʻokō ʻia kahi ʻano hana hou o ka ʻohi ʻōpala - "hoʻohaʻahaʻa", ka mea i hoʻohui i ke ʻano ohi ʻōpala i loaʻa mua. ʻO ke ʻano hou e pili ana i ka holo pinepine ʻana i kahi kolo pōkole, e uhi ana i nā mea i hana ʻia. Hana ʻia kahi kaʻahele piha o nā mea āpau inā, ma hope o ka huakaʻi pōkole, ʻaʻole hiki ke hoʻokō i ka hoʻohana hoʻomanaʻo i makemake ʻia. ʻO kēia ala e hiki ai iā ʻoe ke hoʻokō i ka hana kiʻekiʻe a hoʻemi i ka hoʻohana ʻana i ka hoʻomanaʻo i ka wā e mālama ai i ka nui o nā mea e ola nei no ka manawa pōkole.
  • Hoʻohui i ka hiki ke wehewehe i nā ʻano like ʻole i wehewehe ʻia me ke ʻano "const". Hiki ke hāʻawi ʻia ia mau ʻano hoʻololi i hoʻokahi wale nō a, i ka manawa i hoʻomaka ʻia, ʻaʻole hiki ke hoʻololi.
  • Kākoʻo i hoʻohui ʻia no nā mea hoʻololi "e pani ʻia", i hāʻawi ʻia me ka hoʻohana ʻana i ke ʻano "close" a e like me nā mea hoʻololi kūloko mau (me ke ʻano const), ʻokoʻa iā lākou i ka pani ʻana o ka waiwai (ua kapa ʻia ke ʻano "__close") i kēlā me kēia manawa e haʻalele ai i ka laulā, no ka laʻana, ma hope o ka hoʻopau maʻamau o ka poloka, hoʻololi me ka hoʻohana ʻana i ka break/goto/return a i ʻole ka puka ʻana inā loaʻa kahi hewa.
  • ʻAno "lōkoi", e hāʻawi ana i ka hiki ke mālama i nā ʻikepili C ma nā ʻano ʻokoʻa ʻo Lua (e hōʻike ana i kahi poloka o ka ʻikepili i ka hoʻomanaʻo a i ʻole kahi kuhikuhi C), hiki ke loaʻa i kēia manawa kekahi mau waiwai (loaʻa nā metatables).
  • Hōʻike ʻia kahi hoʻokō hou o ka hana no ka hana ʻana i nā helu pseudorandom - math.random.
  • Hoʻohui ʻia kahi ʻōnaehana o nā ʻōlelo aʻo i hoʻoholo ʻia me ka hoʻohana ʻana i ka ʻōlelo e aʻo a, ʻaʻole like me nā hewa, ʻaʻole pili i ka hoʻokō hou ʻana o ka papahana.
  • Hoʻohui ʻia ka ʻike debugging e pili ana i nā hoʻopaʻapaʻa hana a me nā waiwai hoʻihoʻi.
  • Ua manaʻo ʻia kahi semantics hou no ka helu ʻana i nā integer ma nā puka lou "no ka mea,". E helu ʻia ka helu o nā hoʻololi ma mua o ka hoʻomaka ʻana o ka loop, e pale ana i ka overflow a me ka looping. Inā ʻoi aku ka nui o ka waiwai mua ma mua o ka waiwai palena, hōʻike ʻia kahi hewa.
  • I ka hana 'string.gmatch' hoʻohui i kahi hoʻopaʻapaʻa koho hou 'init', kahi e hoʻoholo ai i kahi kūlana e hoʻomaka ai i ka ʻimi (ma ka paʻamau, mai 1 ʻano).
  • Hoʻohui ʻia nā hiʻohiʻona hou 'lua_resetthread' (hoʻihoʻi hou i ke kaula, hoʻomaʻemaʻe i ka waihona kelepona holoʻokoʻa a pani i nā ʻano hoʻololi "e pani ʻia") a 'coroutine.pili' (pani i ka coroutine a me nā mea hoʻololi a pau "e pani ʻia").
  • Ua hoʻoneʻe ʻia nā hana no ka hoʻololi ʻana i nā kaula i nā helu i ka waihona "string".
  • Hiki ʻole ke kelepona i ka hana hoʻokaʻawale hoʻomanaʻo inā hoʻemi ʻia ka nui o ka poloka hoʻomanaʻo.
  • I ka hana 'string.format' kāko'o hou 'ia no ke 'ano hou '%p' (ho'iho'i 'ia ka pointer e lua_topointer).
  • Hāʻawi ka waihona utf8 i ke kākoʻo nā helu huaʻōlelo me nā helu a hiki i ka 2^31.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka