Multiple Return Values
Penjelasan
Salah satu fitur khas Lua: satu fungsi bisa mengembalikan LEBIH DARI SATU nilai sekaligus, cukup dipisah koma setelah `return`. Nilai-nilai itu ditangkap pemanggil lewat multiple assignment (`a, b = fungsi()`). Kalau hanya sebagian nilai yang ditangkap, sisanya otomatis dibuang.
Contoh Konsep
function bagi(a, b)
local hasil = a // b -- pembagian bulat
local sisa = a % b
return hasil, sisa
end
local hasil, sisa = bagi(17, 5)
print(hasil, sisa) -- 3 2
-- Kalau cuma butuh satu nilai, sisanya diabaikan
local hasilSaja = bagi(17, 5)
print(hasilSaja) -- 3 (nilai kedua diabaikan)
Praktikum
Buat fungsi min_max(a, b, c) yang mengembalikan 2 nilai sekaligus: nilai terkecil dan nilai terbesar dari 3 angka.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Multiple return values sering dipakai untuk mengembalikan "hasil DAN status error" sekaligus (mis. `nilai, error = fungsi()`), pola umum di Lua sebagai pengganti exception untuk kasus tertentu.