I-Lua inyanzelekile, yakhiwe kwaye ilula kakhulu kulwimi lwenkqubookanye iyilelwe njengolwimi olutolikwayo nolunee semantics ezinabileyo. Olu lwimi lwenkqubo Iqonga lomnqamlezo kunye nomthombo ovulekileyo okhutshwa phantsi kwelayisensi ye-MIT.
Olu lwimi lwenkqubo lolunye lweelwimi ezicetyiswayo ukuqala nokuqonda iinkqubo, kuba ithathwa njengenye yeelwimi ezilula kakhulu ukuba ziyiqonde.
Malunga nolwimi lwenkqubo yeLua
I-Lua lulwimi lwenkqubo icwecwe ngokwaneleyo ukuba isetyenziswe kumaqonga ahlukeneyo.
Kwi-Lua izinto eziguquguqukayo azinalo uhlobo, ziidatha kuphela kwaye zinokuba sengqiqweni, iinombolo ezipheleleyo, amanqaku edadayo okanye imitya.
Izakhiwo zedatha ezinje ngee vectors, iiseti, iitafile ze-hash, uluhlu, kunye neerekhodi zinokumelwa kusetyenziswa ulwakhiwo lwedatha eyahlukileyo kaLua.
Inyanga lulwimi olwahluka-hlukeneyo kuba iisemantiki zalo zinokwandiswa kwaye ziguqulwe ngokuchaza ngokutsha imisebenzi yezakhi yedatha isebenzisa izinto eziguquguqukayo, phantse njengakwiPerl (yiyo loo nto ivumela ukuphumeza, umzekelo, ilifa, nangona ingaphandle kolwimi).
I-Lua ibonelela ngenkxaso kwimisebenzi yoku-odola ephezulu, umqokeleli wenkunkuma. Ukudibanisa konke oku kungentla, kunokwenzeka ukuba usebenzise iLua kwinkqubo ejolise kwinto.
Iinkqubo eLua azitolikwa ngokuthe ngqo, kodwa ziqulunqwe kwi-bytecode, Eqhutywa kumatshini oqinisekileyo weLua.
Inkqubo yokudityaniswa ihlala ibonakala elubala kumsebenzisi kwaye yenziwa ngexesha lokubaleka, kodwa inokwenziwa ngaphambi kwexesha ukwandisa ukusebenza kunye nokunciphisa ukusetyenziswa kwememori ngokudlula kumhlanganisi.
Entre Iimpawu zayo eziphambili kunokugqitywa ngazo:
- Isekwe kuzo zonke iinkqubo ezinomlinganiso osemgangathweni C.
- Ikhanya kakhulu, iyakhawuleza, iyasebenza kwaye iyaphatheka.
- Kulula ukufunda nokusebenzisa.
- Ine-API elula nebhalwe kakuhle.
- Ixhasa iintlobo ezahlukeneyo zenkqubo (ezinje ngenkqubo, ukujolisa kwinto, ukusebenza, kunye nokuqhutywa kwedatha, kunye nenkcazo yedatha).
- Isebenza ngokujolise kwinto kusetyenziswa iindlela zeemeta.
- Ikwahlanganisa ndawonye inkqubo yolungelelwaniso olulula kunye nenkcazo yedatha eyoyikisayo eyakhiwe ngokungqonge uluhlu lokudibana kunye neesemantiki ezandisiweyo.
- Kuza nolawulo lwememori oluzenzekelayo ngokuqokelelwa kwenkunkuma (ukuyenza ilungele ukuseta okwenyani-komhlaba, ukubhala, kunye nokukhawulezisa ukukhawulezisa).
- Ukuqala ukufunda olu lwimi, kufuneka ukuba ube netoliki yolwimi yenkqubo.
Ulufaka njani ulwimi lwenkqubo yeLua kwiLinux?
Ngenxa yokuthandwa kakhulu kolwimi Itoliki yayo ifumaneka kunikezelo lweLinux.
Ke ukufakela kwayo ungayifaka nayo nayiphi na le miyalelo ilandelayo ngokokuhambisa osisebenzisayo.
ukuba abo bangabasebenzisi be-Debian, Ubuntu, Linux Mint okanye nayiphi na inkqubo evela kwezi, kufuneka sivule kuphela i-terminal kwaye senze lo myalelo ulandelayo:
sudo apt install lua5.3
Ukuba kunjalo Abasebenzisi beArch Linux, iManjaro, iAntergos okanye naluphi na usasazo oluvela kwiArch Linux, sinokufaka itoliki kwindawo yokugcina izinto ze-AUR, kuba oku kufuneka sichwetheze kuphela:
aurman -S lua
Ngelixa le- Abo bangabasebenzisi be-CentOS, i-RHEL, i-Fedora okanye naluphi na ulwabiwo oluvela kwezi zinto, singayifaka kunye:
sudo dnf install lua
Abo Bangabasebenzisi abasebenza ngokuvulekileyo, kufuneka bongeze indawo yokugcina kwaye bafake, bakwenza oku ngokuchwetheza oku kulandelayo ngokohlobo abalusebenzisayo:
ukuba vulaSUSE Tumbleweed sebenzisa oku okulandelayo njengengcambu:
zypper addrepo https://download.opensuse.org/repositories/devel:languages:lua/openSUSE_Tumbleweed/devel:languages:lua.repo
zypper refresh
zypper install lua51-luaexpat
Ukuba uyasebenzisa vulaSUSE Qhuma 42.3 sebenzisa oku okulandelayo njengengcambu:
zypper addrepo https://download.opensuse.org/repositories/devel:languages:lua/openSUSE_Leap_42.3/devel:languages:lua.repo
zypper refresh
zypper install lua51-luaexpat
ukuba vulaSUSE Qhuma 15.0 sebenzisa oku okulandelayo njengengcambu:
zypper addrepo https://download.opensuse.org/repositories/devel:languages:lua/openSUSE_Leap_15.0/devel:languages:lua.repo
zypper refresh
zypper install lua51-luaexpat
Kwaye ndikulungele ngayo, sele ndifakiwe.
Unokwenza uvavanyo olulula lokudala umhlaba odumileyo, kufuneka wenze ifayile kunye nokupheliswa kwe-.lua kunye nendawo:
nano holamundo.lua
print("Hola mundo!")
Kwaye ukubona ukuba isebenza njani, vele uyibaleke kwisiphelo sendlela nge:
lua holamundo.lua
Izimvo, shiya eyakho
KwiArch Linux iphakheji "lua" ikwiindawo zokugcina ezisemthethweni kwaye akukho mfuneko yokuba ihlanganiswe
$ sudo pacman -S lua