Lua - Standard Libraries

Halo, para pemrogram yang sedang berkembang! Hari ini, kita akan mengemban perjalanan yang menarik melalui pustaka standar Lua. Sebagai guru komputer tetangga yang ramah, saya di sini untuk mengarahkan Anda melalui tools kuat ini yang akan membuat pengalaman pemrograman Lua Anda menjadi menyenangkan dan produktif. Mari kita masuk ke dalam!

Lua - Standard Libraries

Pustaka Dasar

Pustaka Dasar seperti pisau multifungsi dalam pemrograman Lua. Itu berisi fungsi penting yang Anda akan gunakan hampir di setiap skrip Lua yang Anda tulis. Mari kita lihat beberapa yang paling umum:

print()

print("Halo, Dunia!")

Baris sederhana ini menampilkan "Halo, Dunia!" ke konsol. Itu sering kali hal pertama yang Anda pelajari dalam setiap bahasa pemrograman, dan Lua tidak pengecualikan!

type()

local myVariable = 42
print(type(myVariable))  -- Output: number

Fungsi type() memberitahu kita jenis data yang kita hadapi. Dalam kasus ini, itu memberitahu kita bahwa myVariable adalah sebuah bilangan.

tonumber() dan tostring()

local myString = "123"
local myNumber = tonumber(myString)
print(myNumber + 7)  -- Output: 130

local backToString = tostring(myNumber)
print(type(backToString))  -- Output: string

Fungsi ini mengkonversi antara string dan bilangan. Mereka sangat berguna saat Anda berurusan dengan input pengguna atau data dari berkas.

Pustaka Modul

Modul dalam Lua seperti blok bangunan yang Anda dapat gunakan untuk membangun program Anda. Pustaka Modul membantu Anda mengelola blok-blok ini secara efisien.

require()

local myModule = require("myModule")

Fungsi ini memuat dan menjalankan berkas Lua "myModule.lua", dan mengembalikan apa pun yang modul itu mengembalikan. Itu cara kita mencakup kode eksternal dalam skrip kita.

Manipulasi String

Lua menyediakan set yang kuat dari fungsi manipulasi string. Mari kita lihat beberapa:

string.upper() dan string.lower()

local myString = "Halo, Dunia!"
print(string.upper(myString))  -- Output: HALO, DUNIA!
print(string.lower(myString))  -- Output: halo, dunia!

Fungsi ini mengkonversi string ke huruf besar atau huruf kecil, masing-masing.

string.sub()

local myString = "Lua adalah menakjubkan!"
print(string.sub(myString, 1, 3))  -- Output: Lua
print(string.sub(myString, -8))    -- Output: menakjubkan!

string.sub() mengekstrak sebagian string. Bilangan pertama adalah posisi awal, dan bilangan kedua (opsional) adalah posisi akhir.

Manipulasi Tabel

Tabel dalam Lua sangat fleksibel. Mereka dapat digunakan sebagai array, dictionary, atau campuran keduanya. Berikut adalah beberapa fungsi yang berguna untuk bekerja dengan tabel:

table.insert()

local myFruits = {"apple", "banana"}
table.insert(myFruits, "cherry")
print(myFruits[3])  -- Output: cherry

Fungsi ini menambahkan elemen ke akhir tabel, atau di posisi tertentu jika Anda memberikan indeks.

table.remove()

local myNumbers = {10, 20, 30, 40}
local removed = table.remove(myNumbers, 2)
print(removed)  -- Output: 20
print(myNumbers[2])  -- Output: 30

table.remove() mengeluarkan elemen dari tabel dan mengembalikannya. Jika tidak ada indeks yang ditentukan, itu menghapus elemen terakhir.

Input dan Output Berkas

Bekerja dengan berkas sangat penting bagi banyak aplikasi. Lua menyediakan antarmuka yang mudah digunakan untuk operasi berkas:

io.open()

local file = io.open("example.txt", "w")
file:write("Halo, Berkas!")
file:close()

file = io.open("example.txt", "r")
local content = file:read("*all")
print(content)  -- Output: Halo, Berkas!
file:close()

Contoh ini menunjukkan bagaimana membuka berkas untuk menulis, menulis kepadanya, menutupnya, kemudian membukanya lagi untuk membaca dan membaca isinya.

Fasilitas Debbuging

Debugging adalah keterampilan penting bagi setiap pemrogram. Lua menyediakan beberapa fungsi untuk membantu Anda memahami dan memperbaiki masalah dalam kode Anda:

debug.traceback()

function foo()
print(debug.traceback())
end

foo()

Fungsi ini mencetak trace stack, yang bisa sangat membantu saat mencoba memahami di mana kesalahan terjadi dalam program Anda.

debug.getinfo()

function exampleFunction()
local info = debug.getinfo(1)
print("Fungsi ini didefinisikan dalam berkas " .. info.short_src .. " di baris " .. info.linedefined)
end

exampleFunction()

debug.getinfo() menyediakan informasi tentang fungsi, termasuk di mana itu didefinisikan dan parameternya.

Itu saja untuk perjalanan singkat kita melalui pustaka standar Lua! Ingat, latihan membuat sempurna. Jangan takut untuk meng eksperimen dengan fungsi-fungsi ini dan lihat apa yang Anda bisa buat. Selamat coding, para master masa depan Lua!

Pustaka Fungsi Kunci
Dasar print(), type(), tonumber(), tostring()
Modul require()
String string.upper(), string.lower(), string.sub()
Tabel table.insert(), table.remove()
Input/Output Berkas io.open(), file:write(), file:read(), file:close()
Debug debug.traceback(), debug.getinfo()

Credits: Image by storyset