Shellsec

Fuld version: Kom i gang med Lua scripting
Du ser lige nu en skrabet udgave af vores indhold. Se den fulde version med ordentlig formatering.
Formål:
Dette er ikke en guide i scripting, men en lille opslagsting, der forhåbentlig kan få andre i gang med at programmere,
derfor har jeg også undladt at kommentere koden. Det burde umiddelbart være læsligt, uden at kende sproget.
Og jeg anbefaler selvfølgelig, at søge på google og andre steder, før man spøger. Man falder ofte over noget interessant,
der kan give noget tillægsviden.
Jeg er ikke ekspert i sproget, og det er lavet for at være simpelt og let at forstå, så der vil uden tvivl være ting,
der er smartere eller bedre gjort på andre måder.
Det kan bare virke demotiverende, når man er helt ny til programmering, hvis man og skal overholde kodestandarder.
Sprog ændrer sig også med tiden, og tingene skal pludselig gøres anderledes.
Det er efter min opfattelse vigtigst at få det til at virke og få lidt rutine, så kan man finpudse det bag efter.
Jeg dækker absolut heller ikke det hele, men har taget lidt forskelligt med, og det burde være nok til at komme i gang.
Huske at alle sprog har nogle små kinks og triks. Disse er heller ikke taget med. Dette er heller ikke til eksperterne. :)

Alle scriptene kan startes direkte fra en linux konsol. Nogle sprog kan også benyttes på windows, men disse virker i hvert fald på linux.
Først skal man nok lige give brugertilladelse til, at scriptet må eksekveres. Dette gøres med:
$ chmod u+x <scriptnavn>
$ ./<scriptnavn>


Det klassiske Hello World eksempel:
 
#!/usr/bin/lua

-- Lua Hello World
-- Fil: helloworld.lua

print("Hello World")


Et eksempel på en for loop
 
#!/usr/bin/lua

-- Lua for
-- fil: for.lua

for i = 1, 10, 1 do
print(i)
end

j = 1
repeat
print(j)
j = j + 1
until j > 10


Et eksempel på en while loop
 
#!/usr/bin/lua

-- Lua while
-- fil: while.lua

local i = 1
while i < 10 do
print(i)
i = i + 1
end


Et eksempel på brugen af if/then/else:
 
#!/usr/bin/lua

-- Lua if
-- fil: if.lua

a = 0
if a < 2 then
print("Lavere")
end

a = 5
if a < 4 then
print("Lav")
else
print("H0j")
end

a = 4
if a < 4 then
print("Lav")
elseif a == 4 then
print("Mellem")
else
print("H0j")
end


Et eksempel på et script der får brugerinput:
 
#!/usr/bin/lua

-- Lua input
-- fil: input.lua

a = io.read("*l")
print(a)


Et eksempel på et script der bliver kaldt med argumenter:
 
#!/usr/bin/lua

--[[
Lua arguments
Fil: arg.lua
Kald scriptet med ./arg.lua 1 2
]]--

print(arg[1])
print(arg[2])


Et eksempel på en funktion:
 
#!/usr/bin/lua

-- Lua funktioner
-- Fil: function.lua

function enfunktion (a)
print(a)
end

print("Uden for funktionen")
enfunktion("I funktionen")


Et eksempel på et script der forbinder til et website:
 
#!/usr/bin/lua

-- Lua networking
-- Fil: network.lua

local socket = require "socket"

c = assert(socket.connect("google.dk", 80))
c:send("GET / HTTP/1.0\r\n\r\n")

while true do
local s, status, partial = c:receive(2^10)
io.write(s or partial)
if status == "closed" then break end
end


Link:
www.lua.org