Menu
CoddyTech

Array Generic

Termasuk bagian Pengantar Luau dalam perjalanan Lua di Coddy. Pelajaran 64 dari 80.

Generics sangat berguna saat tabel digunakan. Kamu sudah menulis array bertipe sebagai {number} atau {string}. Di dalam fungsi generik, tipe elemennya bisa langsung berupa T, dan {T} berarti "array yang berisi apa pun yang menjadi tipe T".

Berikut contoh klasiknya: mengambil elemen pertama dari array apa pun:

local function first<T>(items: {T}): T?
    return items[1]
end

Berikan {string}, dan pemeriksa menyimpulkan T = string, sehingga hasilnya berupa string. Berikan {number}, dan hasilnya berupa number. Satu fungsi menggantikan seluruh kumpulan salinan untuk tiap tipe.

Perhatikan tipe nilai yang dikembalikan: tipenya T?, bukan T. Array bisa kosong, dan dalam kasus itu items[1] bernilai nil: tipe opsional yang kamu pelajari sebelumnya menjelaskannya dengan tepat: "T, atau nil". Pemeriksa akan mendorong pemanggil fungsi untuk menangani kasus nil sebelum menggunakan hasilnya. Inilah kemampuan menangkap bug yang kamu inginkan dari bahasa bertipe.

challenge icon

Tantangan

Mudah

Dapatkan elemen pertama dari array apa pun.

  1. Tulis local function first<T>(items: {T}): T? yang mengembalikan items[1].
  2. Deklarasikan local fruits: {string} = {"apple", "banana"} dan local empty: {number} = {}.
  3. Cetak first(fruits), lalu first(empty).

Tekan Jalankan: output menampilkan apple dan nil.

Coba sendiri

-- 1) first<T>(items: {T}): T?
-- 2) fruits: {string} dan {number} yang kosong
-- 3) cetak nilai pertama dari masing-masing

Semua pelajaran di Pengantar Luau

Latihan sendiri: Compiler Luau online