Lua Programming : Siri 1

Posted: 11 November, 2013 in programming

Salam semua, entri kali ni aku nak kongsi dan bincangkan tentang lua scripting. Lua adalah satu programming language yang digunakan dalam Wireshark, Snort dan Nmap. Nmap mempunyai satu function untuk menjalankan scripts, dan script ni boleh ditulis dengan menggunakan bahasa Lua ni. Untuk mula membuat scripting bagi nmap, pertama sekali, kita kena paham la sedikit sebanyak pasal lua ni. Nmap menyediakan API dan Libraries yang banyak dan memudahkan developer untuk membangunkan script baru. Insya Allah, nanti aku akan buat entri pasal nmap scripting ni.

lua

Lua is a powerful, fast, lightweight, embeddable scripting language.

Lua combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. Lua is dynamically typed, runs by interpreting bytecode for a register-based virtual machine, and has automatic memory management with incremental garbage collection, making it ideal for configuration, scripting, and rapid prototyping.

Lua is designed, implemented, and maintained by a team at PUC-Rio, the Pontifical Catholic University of Rio de Janeiro in Brazil. Lua was born and raised in Tecgraf, the Computer Graphics Technology Group of PUC-Rio, and is now housed at Lablua. Both Tecgraf and Lablua are laboratories of the Department of Computer Science of PUC-Rio.

“Lua” (pronounced LOO-ah) means “Moon” in Portuguese. As such, it is neither an acronym nor an abbreviation, but a noun. More specifically, “Lua” is a name, the name of the Earth’s moon and the name of the language. Like most names, it should be written in lower case with an initial capital, that is, “Lua”. Please do not write it as “LUA”, which is both ugly and confusing, because then it becomes an acronym with different meanings for different people. So, please, write “Lua” right!

Ok, tanpa membuang masa kita bincangkan sedikit sebanyak tentang asas Lua Programming ini. Pertama sekali kita akan lihat struktur function dalam lua. Macam mana kita nak buat function yang asas.

1

Function terdiri daripada beberapa komponen. Function bermula dengan sintaks seperti dibawah, dan ditutup dengan end. Function perlu diberi nama, objek didalam () adalah parameter. Code yang berada di dalam function disebut chunks. Berikut adalah satu function mudah untuk kita printkan senarai nombor dari 1 hingga 10.

function senarai(a,b)
for nombor = a,b do
print ("Bil:" ..nombor)
end
end

senarai(1,10)

Di dalam lua, kita boleh membuat comments seperti berikut:

-- ini adalah single line comment
--[[--
ini adalah
multiline comments
--]]--

Macam mana kita nak assign value pada variable? Dalam lua tak ada specific data type. Sangat mudah dan straightforward. Cuba lihat contoh dibawah.

nombor = 10
nama = "ali"
nama = 'ali'
kehadiran = false
warna {"merah","hijau","biru","kuning"}
paparkehadiran = kehadiran or "Tidak Hadir"
a,b,c = 1,2,3

Local variable, hanya boleh diakses dalam block dimana ianya dideclare, berbeza dengan global variable, boleh diakses dari mana-mana bahagian code. Dalam kod dibawah, kita declare satu local variable (nama) didalam function paparnama. Kemudian kita cuba paparkan variable nama (print(nama)) dari luar function tersebut. Hasilnya adalah nil(tiada).

function paparnama()
local nama = "Ali"
end

print (nama)

Kita declare satu global variable nama,dan bila kita print variable nama, kita akan dapat nilai Abu.

nama = "Abu"
function paparnama()
local nama = "Ali"
end

print (nama)

2

Sekarang ni kita bincangkan secara asas tentang loops. Kita akan gunakan for loop. Konsepnya sama saja dengan programming language yang lain, jadi tak yah la nak citer panjang la. heheheh ๐Ÿ™‚

for nombor = start, maximum, increment do
print ("Bil:" ..nombor)
end

3

Ok la, Insya Allah nanti kita akan sambung perbincangan pasal Lua ni dalam siri yang lain.

Happy h4ckin dari pokcik gh1mau ๐Ÿ™‚

196051.strip.sunday

Advertisements
Comments
  1. nime says:

    menarik!
    terima kasih sudi berkongsi

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s