Tutorial Lua/Pengenalan

Daripada Wikibooks
Jump to navigation Jump to search

Lua boleh digunakan sebagai bahasa penskripan/pengaturcaraan dengan sendiri, dan sebagai sebuah bahasa penskripan bersepadu buat platform-platform lain. Bab ini tertumpu kepada penggunaan Lua dengan pentafsir yang dapat diperoleh daripada Lua.org. Lihat bab berikut untuk mendapatkan maklumat bagaimana cara mengguna Lua untuk membuat skrip templat sambungan buat MediaWiki Scribunto/Lua extension yang kini terdapat di Wikibuku.

Prasyarat[sunting]

Pentafsir Lua, yang dapat dimuat turun dari laman rasmi Lua. Pakej termasuk pengkompil Lua dan beberapa skrip contoh.

Pentafisr garis perintah Lua[sunting]

Pentafsir garis perintah Lua merupakan alat yang berguna sekiranya anda mahu menguji kod dengan cepat. Ia melaksanakan kod sebaik sahaja anda menekan kekunci Return, dan blok kod (seperti pernyataan bersyarat dan gelung) selepas anda selesai membuat kod (dengan kata kunci end).

Jika anda ada memasang Lua, anda boleh hidupkan terminal dan melaksanakan Lua untuk menghidupkan pentafsir. Jika tidak, anda boleh memuat turun dan memasang Lua, mengguna pelagak Lua repl.it dalam pelayar atau demo Lua.

Ini sebuah sesi contoh:

Lua 5.1.1  Copyright (C) 1994-2006 Lua.org, PUC-Rio
> print("Helo, dunia!")
Helo, dunia!
> print(5+7)
12
> if true then
>> print(true)
>> end
true


Baris pertama menggunakan fungsi print</print> untuk menghasilkan output rentetan "Helo, dunia!". Nombor dan boolean juga boleh dicetak dengan menggunakan print. Pentafsir akan mengakui kehadiran blok-blok kod dengan '>' tambahan pada prom.

Apabila sudah selesai, tekan Ctrl-D (EOF) untuk menutup pentafsir.

Melaksana dan mengkompil program[sunting]

Walaupun kemasukkan perintah pada prom garis perintah sesuai untuk menjalankan ujian, ia tidak sesuai untuk melaksanakn skrip. Skrip biasanya disimpan dalam fail dengan prefiks '.lua' pada fail. Untuk melaksanakn skrip, nama fail diberikan sebagai argumen kepada pentafsir. Misalnya:

lua skrip_saya.lua

Anda dapat mengkompil skrip anda dengan luac, pengkompil Lua.

luac fail_input

Ini akan menghasilkan kod bait ke dalam fail bernama luac.out. Guna argumen -o untuk menukar keadaan ini:

luac -o fail_output fail_input

Pemboleh ubah[sunting]

Bahagian seterusnya akan menyenaraikan kod dan terpulang kepada anda untuk mencuba dalam pentafsir atau menyimpannya dalam fail dan melaksanakannya.

Lua ialah bahasa yang mempunyai jenis dinamik. Pemboleh ubah tidak memiliki jenis; hanya nilai yang memiliki jenis. Ini bermakna pemboleh ubah boleh ditetapkan kepada sesuatu jenis nilai, dan kemudian kepadanilai jenis lain. Cuba lihat ini:

a = 15
print(a)
a = "Helo"
print(a)

Output:

15
Helo


Keadaan ini mempunyai kelebihan dan juga kelemahan. Ia membolehkan penggunaan nilai berlainan jenis dengan mudah, akan tetapi ia juga bermakna jenis yang tidak diduga juga dapat digunakan dan ini boleh menimbulkan kesilapan.

Jenis-jenis nilai[sunting]

Jenis-jenis asas ini terdapat dalam Lua:

 * boolean: true (benar) atau false (palsu)
 * nombor: Nombor nyata (ketepan titik terapung)
 * string: Rentetan aksara, seperti "Helo, dunia!".
 * function: Fungsi merupakan nilai kelas pertama dengan Lua (lebih tentang ini kemudian).
 * userdata: Objek-objek C dipanjangkan kepada Lua (lebih tentang ini kemudian).
 * thread: Korutin Lua (lebih tentang ini kemudian).
 * table: Jadual merupakan struktur data yang fleksibel (lebih tentang ini kemudian).
 * nil: Jenis nilai nil. nil melambangkan ketiadaan nilai.