Afaan sagantaa Lua fayyadamuun taphoota adda addaa, faayidaa, roobootii daldalaa fi guddina biroo
uumuu dandeessu
. Afaan Lua hubachuuf salphaadha, hiikaa beekamaa qaba. Lua waliin walitti dhiyeenyaan wal baruuf, akkasumas akkaataa roobootii daldalaa ykn iskiriiptii afaan kanaan barreessuu barachuuf yaadameera.
- Afaan Luaa maali akkamitti faayidaa qaba?
- Daataa seenaa gabaabaa
- Amaloota afaan sagantaa Lua
- Faayidaa fi miidhaa isaa
- Jaavascript waliin wal bira qabuu
- Amaloota sagantaa roobootii daldala afaan Lua
- Haala waliigalaa roobootii daldalaa hunda caalan Lua irratti – furmaata qophaa’aa jalqabaaf
- Roobootii-tarminaalii “Delta Pro”.
- RQ: Dhibbeentaa Tokko
- RQ: Maartiin
- Gosoota iskiriiptii Lua tarminaala QUIK
- Akkaataa roobootii Lua keessatti barreessinu
- Akkaataa LUA keessatti QUIK terminal keessatti sagantaa itti goonu
- Akkaataa iskiriiptii LUA tarminaala daldalaa keessatti itti fe’an
Afaan Luaa maali akkamitti faayidaa qaba?
Lua afaan itti fayyadamuuf salphaa ta’ee fi embeddable ta’eedha. Gargaarsa isaatiin yeroo gabaabaa keessatti bu’uuraalee sagantaa barachuu akka dandeessan jalqaboonni ni amanu. Lua guddina afaan biraatiin qindaa’e waliin milkaa’inaan walitti makameera. Yeroo baayyee barattoota saayinsii dizaayinii elektirooniksii reefuu jalqabaniif ni gorfama.
Afaan Luaa yeroo baay’ee damee adda addaa irratti fayyadama. Innis faayidaa qabaachuu danda’a:
- Fayyadamaa taphoota kompiitaraa taphatu (plugins barreessuu).
- Ogeessa misooma tapha (motora guddisuu).
- Sagantaa misooma application (faayidaa adda addaatiif pilaaginii barreessuu).
- Developer in the direction of embedded (afaan adeemsa hin saffisiisu fi gahumsaan akka hojjettu si dandeessisa)
- Daldaltoota iskiriiptii barreessuu fi bot daldalaaf.
Galata Lua roobootiin daldalaa tokkoo ol uumameera. Faayidaan isaas tokkoon tokkoon fayyadamaa dafee nuances afaanichaa hubachuu fi of danda’ee sagantaa akkasii uumuu danda’a. Karaa isaatiin ajaja gara tarminaala Quik erguu
fi xiinxala teeknikaa raawwachuun ni danda’ama. Afaan Lua maaliif, ilaalcha waliigalaa afaan sagantaa LUA: https://youtu.be/PbYf6uNZFCE
Daataa seenaa gabaabaa
Lua bara 1993 sagantaalee Biraazil kutaa Tecgraf irraa dhufaniin kalaqame. Qopheessitoonni tokkoon tokkoon fayyadamaa guddina afaanichaa irratti fooyya’iinsa murtaa’e gochuu akka danda’u mirkaneessaniiru. Kunis karaa banaa koodii argachuudhaan raawwatamuu danda’a. Biraaziliif afaan sagantaa mataa ishee uumamuun isaa argannoo dhugaa ture. Dhugumatti, sana dura biyyi kun gama misooma kompiitaraatiin milkaa’ina akkasii hin arganne.
Afaan kun kan uumame bu’uura SOL fi DEL. Guddinni kun addunyaa Lua caalaa waggaa tokko dursee arge. Dhaabbanni Biraazil sun barreessaa ta’ee hojjeteera. Afaanonni sagantaa kunniin kan ajajaman dhaabbata Petrobras jedhamu kan boba’aa baasuu fi qopheessuu irratti bobba’eedha. Lua 5.4.0 inni haaraan yeroo dhiyootti – bara 2020tti gadhiifameera. Developers yeroo baayyee amaloota hawwataa fi faayidaa qaban pirojekticha keessatti galchuuf yaalu. Kanaafuu, sagantichi yeroo hunda kan haaromfamu yoo ta’u, developers biratti fedhii guddaa qaba.
Amaloota afaan sagantaa Lua
Lua fuulduratti, developer afaan kana fayyadamuuf carraan ni kennamaaf, lamaanuu ijaarame (sababii iskiriiptii ta’uu isaatiin) fi of danda’ee (haala murtaa’e keessatti, dabalataa malee fayyadamuun ni danda’ama). Barreessitoonni kun Lua uumuu irratti yeroo hojjetan itti yaadanii meeshaa hojiirra oolu kan bakka guddaa hin fudhannee fi meeshaa kamiyyuu irratti salphaatti hojjetu hojjechuuf deeman.
Qopheessitoonni afaan kana hanga danda’ametti salphisuuf yaalan, akka sagantaa hojjettoonni haaraan illee dafanii akka danda’aniif. Kunis fedhiin pirojektichaa dabalaa dhufedha. Ogeeyyiin marsariitii ofiisaa irratti manneen kitaabaa osoo hin gargaaramin koodii barreessuu fi misooma bal’aa uumuuf carraa qabu. Barreessitoonni saganticha mataa isaa keessatti parameetaroota barbaachisoo ta’an akka jiran kunuunsaniiru. Fayyadamtoonni haaraan afaan Lua naannoo kamitti akka fayyadamu barachuu barbaadu. Sagantaa damee industirii keessatti hojjetaman oomishuuf kan qophaa’e ture. Har’a garuu gargaarsa afaan kanaatiin roobootii daldalaa adda addaa, iskiriiptii, tapha kompiitaraa, application, bot Telegram fi kkf uumamu. Kana malees, Lua tooftaa kalaqaa hawaa qorachuuf gargaaru irratti hirmaateera. Yuunivarsiitii keessatti barattoota barsiisuu keessattis ni fayyadama. Afaan sagantaa baay’ee jaallatamu Lua mana keessatti ilaalama. Biraazil keessatti bakka hundatti jechuun ni danda’ama (bakka danda’ametti) kan itti fayyadamudha.
Faayidaa fi miidhaa isaa
Akkuma sagantaa kamiyyuu, malaa fi afaan sagantaa Lua bu’aa fi miidhaa isaa hedduu qaba. Gama gaarii misoomaa irraa jalqabuun gatii qaba:
- Geejjibaa qulqullina qabu . Lua sagantaalee hedduu irraa adda ta’ee sirna hojii tokko irraa gara sirna hojii biraatti dabarsuu salphaadha. Haala kana keessatti jijjiiramni guddaan hin jiru. Haala kamiinuu koodii keessatti dogongorri hin jiraatu.
- Manneen kitaabaa baay’ee . JavaScript wajjin wal bira qabamee yoo ilaalamu , Lua filannoowwan mana kitaabaa baay’ee xiqqaa qaba. Haa ta’u malee, qabeenyi ofiisaa afaanichaan guutummaatti hojjechuuf waan isin barbaachisu hunda qaba.
- Gahumsa qabaachuu . Sirnichi manneen kitaabaa adeemsa koodii murtaa’eef barbaachisoo ta’an yeroo gabaabaa keessatti akka dabaltu si dandeessisa.
- Fayyadama salphaa . Guruwwan sagantaa afaanichaa bal’inaan muraasa barachuu qofa isaan barbaachisa, sana boodas guddina isaanii keessatti nagaan itti fayyadamuu danda’u. Warra sagantaa hojjechuudhaan reefuu jalqabaniifis Lua hubachuuf yeroo hin fudhatu.
- Qusannaa yaadannoo guddaa . Sagantaa afaan kanaan uumuudhaan ogeessi tokko garaagarummaa jiru analoogii biroo wajjin hubachuuf wabii qaba. Hundaafuu, misoomni Lua meeshaa irratti memory xiqqaa barbaadu.
Miidhaan guddaan afaan kun qabu qubeedhaan kan barreeffame ta’uu isaa qofa. Kana jechuun immoo yeroo baay’ee afaanota misoomaa biroo wajjin walitti makuun qofa itti fayyadamuu ni danda’ama jechuudha. Kanneen keessaa inni baay’ee jaallatamu C. Kana jechuun afaan sagantaa dabalataa barachuu qabda.
Jaavascript waliin wal bira qabuu
Fayyadamtoonni hedduun Lua fi JavaScript wal bira qabuun, koodii isaanii tokko jechuun ni danda’ama jedhu. Dhugumatti garaagarummaa caalaa walfakkeenyi afaanota gidduu jiru baay’eedha. Garuu, walfakkeenyi ifa ta’e jiraatus, garaagarummaa hedduutu jira. Fakkeenyaaf Lua deeggarsa sooftiweerii mataa isaa qaba. Haa ta’u malee, hojjettoonni JaavaScript dhiheenya kana update dhiyaatan, akka jedhutti, fayyadamaan jecha “yield” jedhu jenereetaroota gidduutti barreessuu qofa qaba, sana booda sagantichi ni deeggara.
Opereetariin Lua gara humnaatti ol kaasuuf mallattoo akkasii “^” agarsiisa, JaavaScript keessatti ammoo “**” dha. Inni lammaffaan immoo dalagaalee guddisuu fi xiqqeessuu qaba. Garuu Lua operator overloading raawwachuu danda’a. JaavaScript faankishiniiwwan jijjiiramaa qofa of keessaa qaba, Lua ammoo ibsaman qaba. JaavaScript istaandaardii beekamaa Yuunikoodii deeggaruun of jajuu danda’a. Walnyaatinsi “!==” afaanicha keessatti walqixxummaa dhabuu agarsiisuuf kan gargaaru yoo ta’u, Lua kaayyoo walfakkaataaf “~=” fayyadama. Garaagarummaan biroo gabatee keessatti dhiyaateera.
Amaloota sagantaa roobootii daldala afaan Lua
QLua irratti roobootii uumuun tasumaa rakkisaa miti, jalqaboonni illee danda’u. Wanti guddaan jalqaba irratti yaada bu’uuraa hubachuudha. Koodii qindeessuuf, gulaalaa barruu salphaa ta’e faayidaa qaba. Iskimiin uumaa agarsiiftuu tokkoo qindeessuu wajjin wal fakkaata. Haa ta’u malee, koodii mataa isaa keessatti garaagarummaan xiqqaan jira. “Highlight” gaarii kan biraa – roobootiin haaraa minted ta’e kun bakka barbaaddetti PC keessan irratti kaa’amuu danda’a.
Barbaachisaa! Koodii keessatti faankishiniin tokko qofa jiraachuu qaba – “main”.
Koodiin roobootii erga qindaa’ee gulaalamee booda save gochuun ni gorfama. Waa’ee lua dheerina hin dagatinaa. Akkuma duraan jedhame sagantichi kompiitara keessa bakka fedhe kaa’uun ni danda’ama. Koodii kee qorachuuf, roobootii sana hojjechuu qabda. Kana gochuuf gara kutaa “Services” jedhutti deemi. Jalqaba sararri “Lua scripts” jedhu ni jiraata, cuqaafamuu qaba.
Itti aansuudhaan, foddaan iskiriiptii fe’ame qabu ni mul’ata. Achitti faayilii barbaachisu filattee qaree barbaachisaa ta’e fayyadamuun hojjechuu qabda.
Xumura irrattis koodii bot dogongora jiraachuu isaa ilaaluun ni gorfama. Yoo wanti hundi gaarii ta’e roobootiin ni jalqaba. Yoo rakkoon uumame irra deebi’uun gara koodii deebi’uun sirrii ta’uu isaa ilaaluun gatii qaba.
Haala waliigalaa roobootii daldalaa hunda caalan Lua irratti – furmaata qophaa’aa jalqabaaf
Afaan sagantaa Lua fayyadamuun gosoota roobootii adda addaa walxaxaa kamiyyuu uumuu dandeessa. Haa ta’u malee sagantaa qophaa’aa ta’e bitachuu dandeessu. Algoritmota beekamoo duraan hojiif qophaa’an waliin wal baruuf yaadameera. Isaan bitachuu ykn demo version yaalu dandeessu. Roobootii daldalaa guutuu tarminaala QUIK Lua keessatti argamuuf: https://youtu.be/Z2xzOfNZFso
Roobootii-tarminaalii “Delta Pro”.
Waltajjii tokko irratti filannoo kamiyyuu gara 120 akka activate gootu si dandeessisa. Haala kana keessatti, tooftaa fi meeshaalee gosa adda addaa fayyadamuu dandeessa.
RQ: Dhibbeentaa Tokko
Roobootiin kun damee daldalaatiin daldalaaf kan qophaa’edha. Algoritmiin kun galii sochii kana irraa argamu yeroo hedduu akka dabalu si dandeessisa. Balaan ni xiqqaata, salphaatti shallagamuu danda’a.
RQ: Maartiin
Sirnichi waliigaltee osoo hin godhin dura lootii shallaguuf si dandeessisa. Daldalli haala “semi-automatic” jedhuun ni kennama. Sadarkaaleen milkaa’inaan hordofamuu fi harkaan saaguun ni danda’ama.
Gosoota iskiriiptii Lua tarminaala QUIK
Yeroo hojii murtaa’e tarminaala QUIK keessatti raawwattu, iskiriiptii armaan gadii fayyadamu:
- Iskiriiptii Lua . Neetwork irratti, diskiin naannoo irratti, ykn bakka biraa tarminaaliin itti dhaqqabamutti kuufamuu danda’u. Gargaarsa isaaniitiin roobootii daldalaa uumuuf dalagaa gahaa qabu. QUIK keessatti gabatee uumuun, filannoowwan meeshaa fayyadamuu, ajajoota hojiiwwan adda addaa raawwachuuf kennuu fi kkf ni danda’ama.
- Agarsiistota amala . Asitti, ilaalcha duraa wajjin wal bira qabamee yoo ilaalamu, dalagaa baay’ee xiqqaadha. Sagantaan kun fayyadamaan algoritmiin gochootaa chaartiiwwan tarminaalii irratti akka agarsiisuuf yaadameeti.
Sagantaa Lua keessatti warra afaanicha sirriitti beekuu barbaadaniif – qajeelfama guutuu buufadhaa:
Sagantaa Lua keessatti Robots in Lua for QUIK – Iceberg robot: https://youtu.be/cxXwF_xmTHY
Akkaataa roobootii Lua keessatti barreessinu
Fayyadamaan roobootii mataa isaa uumuuf erga murteessee booda algoritmiin dursee qindaa’e hordofuu qaba. Yeroo muuxannoo sagantaa hojjechuu argatu salphaatti koodii mataa isaa barreessuu fi yaalii gochuu ni danda’a. Naannoo kana qorachuuf Lua filachuudhaan namni jalqabaa tokko hin dogongoru. Hundaafuu, jalqaba irratti wanti guddaan afaan sagantaa salphaa fi hubatamaa ta’e irratti dhaabbachuudha. Jalqabuuf sagantaa tarminaala daldalaa QUIK banaa. Foddaa isaa keessatti, galmee uumuu qabda. Bakki kun bakka iskiriiptiin barreeffame hundi itti qusatamuudha. Fayyadamaan galmeef guutummaatti maqaa kamiyyuu kennuu danda’a, garuu arfiilee Laatiin qofa of keessaa qabaachuu qaba. Mee maqaan isaa “LuaScripts” haa jennu. Itti aansuudhaan, galmee hojii irra oolchuu fi achitti gulaalaa barruu uumuu qabda, fakkeenyaaf, Notepad. Bakka duwwaa keessatti (foddaa sagantaa keessa) mirga cuqaasuu qabda
. Sanduuqa qaaqa ni mul’ata, tarree isaa keessatti caancala “Uumi” filachuu qabda, kana booda tarree “Galmee Barruu” filachuu qabda.
Maqaas itti kennamuu qaba, booda akka hin burjaajofneef. Fakkeenyaaf, “Script_N1” barreessuu dandeessa. Waa’ee furmaata afaan fayyadamnu hin dagatinaa – .lua. Kunis, fayyadamaan barreeffama akkasii galmee “Script_N1.lua” irratti argachuu qaba. Haa ta’u malee, yeroo baay’ee Windows faayila .txt keessa galchuun ofumaan extension sana jijjiira. Haala kana keessatti, galmee NotePad++ keessatti uumuun gorfama, furmaata barbaadamu saaguun. Sagantaa kana keessatti, kutaa “Syntaxes” filachuu si barbaachisa. Sanduuqa qaaqa filannoowwan hedduu qabu asitti ni mul’ata. “L” filachuu si barbaachisa. Achi irraas foddaan biraa bakka “Lua” cuqaasuu qabdu ni mul’ata.
Sana booda, menu walfakkaataa keessatti, kutaa “Syntaxes” waliin kutaa “File” jedhu cuqaasuu qabdu. Foddaa itti aanu keessatti barreeffamni – “Save as” jedhu ni jiraata. Fayyadamaan irratti cuqaasuun hanga foddaan haaraan banamutti eeguu qaba.
Achitti, gubbaatti, sararri maqaa galmee duraan uumame “Lua scripts” qabu ni mul’ata. Jala foddaa irratti, galmeewwan biroo 2 fayyadamaan uume ni mul’atu. Yoo wanti hundi walsimsiise, gocha mirkaneessuu fi haalata koodii ammaa qusachuu qabda.
Tarkaanfiin itti aanu koodii afaan sagantaa Lua filatameen barreessuudha. Jalqabaan qajeelfama fayyadamuu ni danda’u, koodii salphaa uumuuf ni gargaara, akka ogeessi harka isaa yaalu danda’uuf. Algoritmiin gochootaa faayilii sagantaa QLUA.chm jedhamu keessatti argama. Fakkeenyaaf, koodii salphaa akkasii barreessuudhaaf yaadameera:
function main()
message(“Iskiriiptiin koo inni jalqabaa jalqabameera”);
end Itti aansuudhaan, menu keessaa button save jedhu cuqaasuu qabda.
Koodiin faayilii “Script_N1.lua” keessatti kuufamuu qaba. Isa jalqabnee akkaataa iskiriiptiin jalqabaa itti mul’atu ilaalla. QUIK keessatti banuuf sagantaa kana banuun kutaa filannoo keessatti caancala “Services” filachuu qabda. Itti aansuudhaan, sanduuqa qaaqa ni mul’ata, achitti “LUA scripts …” cuqaasuu qabda.
Sana booda fayyadamaan galmee “Available scripts” jedhu ni argu. Gara mirgaa gubbaa irratti qaree Dabaluutu jira. Isa cuqaasuun faayilii koodii qabu barbaadi. Asitti “Script_N1.lua” jedhamee argama.
Yeroo galmee banu, sarara “Script_N1.lua” filachuun barbaachisaa dha (diraayivii C irratti qusachuu qaba), sana booda, jalatti, qaree “Run” cuqaasi.
Foddaan haaraan battalumatti ni mul’ata.
Arfiilee hubatamuu hin dandeenye kana irraa fagaachuuf, gara sagantaa NotePad deemuu qabda. Sajoo keessatti kutaan “Encodings” jedhu jira, irratti cuqaasaa. Sana booda tarreen caancalaa ni mul’ata, isaan keessaa “Convert to ANSI” irratti cuqaasuu qabda.
Itti aansuudhaan, save kan jedhu cuqaasuun gara message window tti deebi’uu qabdu. Duraanis barreeffamni biraa ni jiraata, tarree barreeffamoota qabu miti.
Akkaataa LUA keessatti QUIK terminal keessatti sagantaa itti goonu
Karaaleen beekamoo 3tu jiru:
- Faayilii barruu kamiyyuu ni uuma, bakka dheerinni .lua kaa’amuu qabu. Itti aansuudhaan, gulaalaa banuun koodii barreessuu qabda. Erga jalqabee booda algoritmiin akkasii al tokko qofa raawwatama. Yeroo hin murtoofneef harkaan hojjechuu dandeessa. Odeeffannoo murtaa’e yeroo tokkotti shallaguuf itti fayyadamuu dandeessa.
- Iskiriiptii Lua mataa isaa keessatti, faankishinii main() jedhamu uumuu qabda . Dabalataanis, faankishinii walfakkaataa keessatti, koodii barreeffame galchuu qabda. Akkasumas faankishiniin sleep() iskiriiptii yeroodhaaf dhaabuuf ykn, faallaa kanaatiin, deebisee jalqabuuf faayidaa qaba. Kunis, yoo faankishinii ijoo () hojii irra oolchite, achiis faankishinii hirribaa () galchite, shallaggii firikuweensii gidduu yeroo murtaa’e tokkoon galmaan gahuu ni dandeessa.
- Sagantaa QLUA keessatti, moodeela misoomaa taateedhaan geggeeffamu fayyadamuu dandeessa. Haala kanaan, amma jijjiirama faankishinii tokko keessatti mul’atu “adda baasuun” fi sababa kanaan ajajoota armaan gadii raawwachuun barbaachisaa miti.
Mala isa lammaffaa kana bal’inaan xiinxaluuf yaadameera. Taatee murtaa’e qabachuuf, faankishinii iskiriiptii keessatti Saffisaa keessatti barreessuu qabda. Iskiimii armaan gadii fayyadamuu dandeessa:
Iskiriiptiin LUA faankishiniiwwan hedduu maqaa addaa qaban of keessaa qabaachuu danda’a: waliigaltee, caqasawwanii fi kkf. Sagantaa keessatti kutaa “Tables” barbaaduu qabda, gara “Lua” deemaa. Sanduuqa qaaqa achitti ni mul’ata sararri “Available scripts” jedhu ni mul’ata, irratti cuqaasi. Itti aansuudhaan, “Launch” kan jedhu cuqaasaa. Sana booda adeemsi fi raawwii faankishinii dirqama
main() dhufa . Sana booda,
is_run labsuu qabda , faankishinichi gatii
dhugaa of keessaa qabaatahanga fayyadamaan qaree Iskiriiptii Dhaabuu hojii irra oolchuutti. Sana booda jijjiiramaan faankishinii gara haalata sobaatti OnStop() keessa seena. Sana booda, faankishiniin main() xumurama, iskiriiptiin ofii isaatii ni dhaabbata. Iskiriiptiin barreeffame qusachuu fi hojjechuu qaba. Yeroo daldala raawwatu fayyadamaan tokkoon tokkoon lootii fi hanga dhumaa daldalaa deetaa ni argu.
QLua Quick keessatti hojjechuuf gara galmee haaraa PC keessan irratti dabarsuu qabdu. Waan barbaaddeen moggaasuu dandeessa, fakkeenyaaf, “MyLua”. Iskiriiptiin Lua hundi achitti ni kuufamu. QUIK erga galchitee booda, kutaa “Services” banuun si barbaachisa, sana booda caancala “Lua scripts” cuqaasuu qabda. Foddaa banamu keessatti, qaree “Add” jedhu hojiirra oolchi. Sana booda iskiriiptii filattee banuun si barbaachisa. Kutaa “Iskiriiptii Buufaman” keessatti ta’a. Sana booda sarara iskiriiptii calaqqisiisuu fi “Run” cuqaasuu qabda. Iskiriiptii dhaabuuf, “Dhaabi” cuqaasuu qofa. .
Akkaataa iskiriiptii LUA tarminaala daldalaa keessatti itti fe’an
Tarminaalonni leenjii fi istaandaardii roobootii daldalaa fe’uuf algoritmiin walfakkaataa barbaadu:
- Kutaa “Services” jedhu kan menu gubbaa tarminaalii keessa jiru cuqaasuun barbaachisaadha.
- Itti aansuudhaan, qaree “LUA scripts” sanduuqa qaaqa tarree keessaa barbaadiitii cuqaasi:
- Yeroo sanatti, foddaan “Available Scripts” jedhu mul’achuu qaba. Sana booda, “Add” kan jedhu activate gochuun faayila roobootii daldalaa barbaachisu filachuu qabdu.
Daataa chaartii Lua irraa iskiriiptiitiin tarminaala Quik keessatti fudhachuu: https://youtu.be/XVCZAnWoA8E Lua sagantaa barachuuf fi gara fuulduraatti milkaa’inaaf filannoo guddaadha. Wanti guddaan yaada (theory) dubbisuu qofa irratti dhaabbachuu miti. Yeroo hunda shaakala gochuudhaan barumsa sana barachuun gaariidha. Yeroo murtaa’e booda, developer guddina agarsiisuu fi oomisha mataa isaa gatii qabu uumuu ni danda’a.