Er zijn veel verschillende programmeertalen, maar als je op zoek bent naar een nieuwe taal, een taal die gemakkelijk te begrijpen is, is snelle en open source Lua. Van het Portugese woord voor maan is de Lua-taal te vinden op enkele onverwachte plaatsen. Het wordt gebruikt in Adobe's Photoshop Lightroom en in spellen als World of Warcraft en Angry Birds. In feite is Lua momenteel de toonaangevende scripttaal voor games. Het is ook de taal die wordt gebruikt door Corona, een gratis software ontwikkelingskit waarmee je apps kunt schrijven voor smartphones en tablets met iOS of Android.

Lua installeren is eenvoudig. Op Ubuntu kunt u het Software Center gebruiken of, als u de voorkeur geeft aan het gebruik van de opdrachtregel:

 sudo apt-get install lua5.1 

Na installatie hebt u toegang tot twee hulpprogramma's, lua, de Lua- luac en luac, de Lua-compiler. Programmeren in Lua is heel gemakkelijk te leren. hellomte.lua met behulp van een teksteditor een bestand met de naam hellomte.lua met de volgende regel:

 print ("Hello Make Tech Makkelijker!") 

Sla het bestand op en ga vervolgens vanaf de opdrachtprompt naar de map waarin u het bestand hebt opgeslagen en voer het Lua-programma als volgt uit:

 lua hellomte.lua 

De output, zoals ik hoop dat je verwachtte, was de tekst Hello Make Tech Easier! . Gefeliciteerd je hebt je eerste Lua-programma geschreven!

Je kunt Lua ook uitvoeren als een stand-alone tolk zoals je zou doen voor bash of python. Dit betekent dat u scripts kunt schrijven die zich gedragen als zelfstandige uitvoerbare bestanden. Maak een bestand met de naam looknohands zonder de .lua-extensie. Voeg in het bestand toe:

 #! / usr / bin / env lua print ("Look no hands!") 

De eerste regel vertelt Linux dat dit een scriptbestand is en dat het script lua gebruikt. De tweede regel drukt de tekst " Look no hands! "Voordat het script kan worden uitgevoerd, moet het uitvoeringsmachtiging krijgen. Hiervoor voert u de opdracht "chmod" uit in de map met daarin het bestand:

 chmod + x looknohands 

Dit vertelt Linux dat dit script kan worden uitgevoerd, om het uit te voeren typ je gewoon:

 ./looknohands 

En je zult de tekst zien.

De Luac-compiler

Als je programmeerervaring hebt, kun je verwachten dat de Lua-compiler een binair uitvoerbaar bestand genereert dat direct op de host kan worden uitgevoerd, net als een C-compiler. De Lua-compiler is echter iets anders. In plaats van uitvoerbare code, produceert deze binaire bestanden die later kunnen worden geladen en uitgevoerd binnen de Lua-interpreter. De belangrijkste voordelen van het vooraf compileren van de Lua-code is dat deze sneller laadt en ook dat de broncode per ongeluk of opzettelijk wordt gemanipuleerd.

Hier is een eenvoudig Lua-programma dat ongeveer 10 keer rondt loopt en wat tekst afdrukt. Maak een bestand met de naam hellomte10.lua en sla het op met de volgende regels code:

 voor i = 1, 10, 1 do print ("Hello Make Tech Easier:", i) end 

Dit kan worden uitgevoerd met de opdracht Lua:

 lua hellomte10.lua 

Het kan echter ook als volgt worden gecompileerd in Lua binaire code:

 luac -o hellomte10.luac hellomte10.lua 

Hiermee wordt een binair bestand met de naam hellomte10.luac dat net als een normaal .lua-bestand kan worden uitgevoerd:

 lua hellomte10.luac 

Het kan ook worden gebruikt vanuit de stand-alone tolk. Maak een bestand met de naam hellomte10 zonder de .lua-extensie:

 #! / usr / bin / env lua dofile ("hellomte10.luac") 

De functie dofile() laadt het binaire bestand en voert het uit. Om de hellomte10 programma-grant uit te voeren, voert u de toestemming uit met de opdracht chmod en voert u deze uit:

 ./hellomte10 

Om voorgecompileerde Lua-programma's te distribueren, moet u het .luac bestand samen met het stand-alone tolk-scriptbestand (dat wil zeggen hellomte10.luac en hellomte10 ) hellomte10, maar u hoeft niet het originele .lua-bestand aan te leveren.

Conclusie

Lua is een zeer flexibele taal die, zoals we hebben gezien, op verschillende manieren kan worden gebruikt. Probeer het programmeren in Lua-boek te lezen om te zien wat Lua nog meer kan doen.