Tutorial Lua/Ungkapan
Modul-modul Lua yang berlandaskan penyambung Scribunto/Lua distor dalam laman-laman sumber yang menggunakan ruang nama Modul:. Setiap modul menggunakan jadual untuk memegang fungsi dan pemboleh ubah, dan jadual itu dipulangkan pada penghujung kod modul.[1]
Ungkapan terdiri daripada nilai literal, pemboleh ubah, dan operator-operator aritmetik, hubungan serta logik. Bab ini akan menunjukkan cara untuk mengguna ungkapan dalam skrip anda.
Prasyarat
[sunting]Bab ini menganggap yang anda sudah selesai dengan bab Pemboleh ubah.
Buat skrip Lua dengan Ungkapan
[sunting]Untuk membuat skrip Lua dengan pemboleh ubah: 1. Pergi ke Modul:Kotak pasir. 2. Buang semua kod yang terdapat dalam kotak pasir.
Ia sebuah kotak pasir. Semua orang boleh bermain di kotak pasir. Tetapi, jika anda mendapati ada seorang pennguna lain yang sedang menyunting kotak pasir, anda juga boleh menggunakan 'Modul:Kotak pasir/Nama pengguna', dengan 'Nama pengguna' diganti oleh nama pengguna anda.
3. Tambah kod berikut dan simpan laman:
local p = {}
function p.aritmetik()
local a = 3
local b = 2
local hasil -- P: 'hasil' bermaksud 'hasil'
hasil = ';Aritmetik\n' -- '\n' P: bermaksud 'newline', 'baris baru'
hasil = hasil .. ':a adalah ' .. a .. '\n'
hasil = hasil .. ':b adalah ' .. b .. '\n'
-- [[P: operator-operator aritmetik,
dan ' .. ' digunakan untuk jeraitan ]]
hasil = hasil .. ':a + b adalah ' .. a + b .. '\n'
hasil = hasil .. ':a - b adalah ' .. a - b .. '\n'
hasil = hasil .. ':a * b adalah ' .. a * b .. '\n'
hasil = hasil .. ':a / b adalah ' .. a / b .. '\n'
hasil = hasil .. ':a % b adalah ' .. a % b .. '\n'
hasil = hasil .. ':a ^ b adalah ' .. a ^ b .. '\n'
hasil = hasil .. ':-a adalah ' .. -a .. '\n'
return hasil
end
function p.hubungan()
local a = 3
local b = 2
local hasil
hasil = ';Hubungan\n'
hasil = hasil .. ':a adalah ' .. a .. '\n'
hasil = hasil .. ':b adalah ' .. b .. '\n'
hasil = hasil .. ':a == b adalah ' .. tostring(a == b) .. '\n'
hasil = hasil .. ':a ~= b adalah ' .. tostring(a ~= b) .. '\n'
hasil = hasil .. ':a < b adalah ' .. tostring(a < b) .. '\n'
hasil = hasil .. ':a > b adalah ' .. tostring(a > b) .. '\n'
hasil = hasil .. ':a <= b adalah ' .. tostring(a <= b) .. '\n'
hasil = hasil .. ':a >= b adalah ' .. tostring(a >= b) .. '\n'
return hasil
end
function p.logik()
local a = 3
local b = 2
local hasil
hasil = ';Logik\n'
hasil = hasil .. ':a adalah ' .. a .. '\n'
hasil = hasil .. ':b adalah ' .. b .. '\n'
hasil = hasil .. ':a < b and b < a adalah ' .. tostring(a < b and b < a) .. '\n' -- P: 'tostring mengubah hasil menjadi rentetan
hasil = hasil .. ':a < b or b < a adalah ' .. tostring(a < b or b < a) .. '\n'
hasil = hasil .. ':a < b adalah ' .. tostring(a < b) .. '\n'
hasil = hasil .. ':not (a < b) adalah ' .. tostring(not (a < b)) .. '\n'
return hasil
end
function p.panjang()
local string = 'Ini rentetan'
local hasil
hasil = ';Panjang\n'
hasil = hasil .. ':Panjang "' .. string .. '" adalah ' .. #string
return hasil
end
return p
Uji skrip Lua anda
[sunting]Untuk menguji skrip pertama anda:
- Pergi ke sama ada ke laman Module talk:Kotak pasir, Wikibuku: Kotak pasir ataupun laman pengguna atau kotak pasir anda.
- Tambah kod ini dan simpan laman:
{{#invoke:Kotak pasir|aritmetik}} {{#invoke:Sandbox|hubungan}} {{#invoke:Sandbox|logik}} {{#invoke:Sandbox|panjang}}
Hasilnya:
Aritmetik a adalah 3 b adalah 2 a + b adalah 5 a - b adalah 1 a * b adalah 6 a / b adalah 1.5 a % b adalah 1 a ^ b adalah 9 -a adalah -3 Hubungan a adalah 3 b adalah 2 a == b adalah false a ~= b adalah true a < b adalah false a > b adalah true a <= b adalah false a >= b adalah true Logik a adalah 3 b adalah 2 a < b and b < a adalah false a < b or b < a adalah true a < b adalah false not (a < b) adalah true Panjang Panjang "Ini rentetan" adalah 16