Lua - Functions: A Beginner's Guide

Hai pengguna yang sedang belajar! Hari ini, kita akan melihat dunia yang menarik dari fungsi Lua. Jangan khawatir jika Anda belum pernah menulis satu baris kode sebelumnya - saya akan menjadi panduan yang ramah untuk perjalanan yang menarik ini. Pada akhir panduan ini, Anda akan dapat membuat dan menggunakan fungsi seperti seorang ahli!

Lua - Functions

Apa Itu Fungsi?

Sebelum kita masuk ke detil, mari bicarakan apa sebenarnya fungsi itu. Bayangkan Anda sedang memanggang kue (yummy!). Sebaliknya menjelaskan seluruh resep setiap kali Anda ingin membuat kue, Anda bisa saja mengatakan " mari buat kue!" dan semua orang akan tahu apa yang harus dilakukan. Dalam pemrograman, fungsi seperti resep ini - mereka adalah blok kode yang dapat digunakan kembali untuk melakukan tugas-tugas tertentu.

Mendefinisikan Fungsi

mari kita mulai dengan dasar-dasar cara membuat, atau "mendefinisikan", fungsi dalam Lua.

Sintaks Fungsi Dasar

function namaFungsi()
-- Kode Anda di sini
end

Ini adalah bentuk paling sederhana dari fungsi Lua. Mari kitauraikan ini:

  1. Kita mulai dengan kata kunci function.
  2. Kemudian kita memberi nama ke fungsi (dalam hal ini, namaFungsi).
  3. Kita menambahkan tanda kurung () setelah nama.
  4. Kita menulis kode kami antara do dan end.

Ini adalah contoh yang nyata:

function katakanHai()
print("Hai, dunia!")
end

Fungsi ini, ketika dipanggil, akan mencetak "Hai, dunia!" ke konsol. Mudah, kan?

Memanggil Fungsi

Sekarang kita sudah mendefinisikan sebuah fungsi, bagaimana kita menggunakannya? Kita "memanggil" fungsi dengan menggunakan namanya diikuti oleh tanda kurung.

katakanHai()  -- Ini akan mencetak "Hai, dunia!"

Setiap kali Anda menulis katakanHai(), Lua akan menjalankan kode di dalam fungsi. Itu seperti menekan tombol yang membuat sesuatu terjadi!

Argument Fungsi

Fungsi menjadi lebih kuat ketika kita dapat memberikan informasi untuk diproses. Informasi ini kita sebut "argumen" atau "parameter".

function salam(nama)
print("Hai, " .. nama .. "!")
end

salam("Alice")  -- Ini akan mencetak "Hai, Alice!"
salam("Bob")    -- Ini akan mencetak "Hai, Bob!"

Dalam contoh ini, nama adalah argumen. Kita dapat mempassingkan nama-nama yang berbeda ke fungsi, dan itu akan menyapa setiap orang secara individual. Bagus, kan?

Argumen Ganda

Kita juga dapat menggunakan argumen ganda dalam fungsi:

function tambahAngka(a, b)
return a + b
end

hasil = tambahAngka(5, 3)
print(hasil)  -- Ini akan mencetak 8

Fungsi ini mengambil dua angka, menambahkannya, dan memberikan kita hasilnya menggunakan kata kunci return.

Menugaskan dan Memindahkan Fungsi

Dalam Lua, fungsi adalah " penduduk kelas pertama". Ini berarti kita dapat memperlakukannya seperti nilai lainnya - kita dapat menugaskan mereka ke variabel, mempassingkannya sebagai argumen ke fungsi lain, dan bahkan mengembalikannya dari fungsi!

-- Menugaskan fungsi ke variabel
local fungsiSaya = function(x)
return x * 2
end

print(fungsiSaya(5))  -- Ini akan mencetak 10

-- Memindahkan fungsi sebagai argumen
function applyTwice(func, value)
return func(func(value))
end

hasil = applyTwice(fungsiSaya, 3)
print(hasil)  -- Ini akan mencetak 12 (3 * 2 * 2)

Ini mungkin terlihat agak membingungkan pada awalnya, tapi ini sangat kuat sekali Anda mengenalinya!

Fungsi dengan Argumen Variabel

kadang-kadang, kita tidak tahu sebelumnya berapa banyak argumen yang akan diterima oleh fungsi. Lua memiliki fitur menarik untuk ini: sintaks ....

function jumlah(...)
local total = 0
for _, v in ipairs({...}) do
total = total + v
end
return total
end

print(jumlah(1, 2, 3))      -- Ini akan mencetak 6
print(jumlah(10, 20, 30, 40))  -- Ini akan mencetak 100

Fungsi ini dapat menerima sejumlah argumen dan menambahkannya semua. Sintaks ... menangkap semua argumen yang diberikan ke fungsi.

Kesimpulan

Selamat! Anda baru saja mengambil langkah pertama ke dalam dunia fungsi Lua. Kita telah menempuh banyak hal, dari definisi fungsi dasar hingga konsep yang lebih tingkat tinggi seperti argumen variabel dan pemindahan fungsi.

Ingat, kunci untuk menguasai fungsi (dan pemrograman secara umum) adalah latihan. Cobalah membuat fungsi Anda sendiri, eksperimen dengan argumen yang berbeda, dan jangan takut membuat kesalahan - itu adalah cara kita belajar!

Dalam tahun-tahun pengajaran saya, saya menemukan bahwa siswa yang bermain dengan kode dan mencoba untuk merusak hal-hal sering kali belajar tercepat. Jadi, teruskan, gunakan contoh ini, ubahnya, per Benderkannya, lihat apa yang terjadi. Dan yang paling penting, bersenang-senang!

Selamat coding, para ahli Lua masa depan!

Credits: Image by storyset