Mengapa Menggunakan Variabel Lokal?
Termasuk bagian Dasar-Dasar dalam perjalanan Lua di Coddy. Pelajaran 85 dari 90.
Mencegah Konflik Nama: Manfaat terpenting variabel lokal adalah mencegah kamu tanpa sengaja menimpa variabel lain dengan nama yang sama. Saat kamu menggunakan variabel global di seluruh programmu, kamu bisa tanpa sengaja menggunakan kembali nama variabel dan mengubah nilai yang tidak ingin kamu ubah.
score = 100 -- skor pemain
function countEnemies()
score = 0 -- dimaksudkan sebagai penghitung khusus untuk fungsi ini
for i = 1, 3 do
score = score + 1
end
return score
end
countEnemies()
print(score) -- 3: skor pemain tertimpa!Fungsi tersebut seharusnya menggunakan penghitungnya sendiri, tetapi karena score bersifat global, fungsi itu justru mengubah skor pemain. Menambahkan local memberi fungsi tersebut variabel terpisah yang hanya ada di dalamnya:
function countEnemies()
local score = 0 -- variabel baru, hanya ada di dalam fungsi ini
for i = 1, 3 do
score = score + 1
end
return score
end
countEnemies()
print(score) -- 100: score global tidak berubahDengan variabel lokal, setiap fungsi dan blok memiliki variabelnya sendiri, sehingga kode di satu tempat tidak bisa secara tidak sengaja mengubah nilai yang digunakan di tempat lain.
Coba sendiri
Pelajaran ini tidak memiliki tantangan kode.
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator 2: Relasional dan Logika
Operator KesetaraanOperator RelasionalOperator 'and'Operator 'or'Operator 'not'Evaluasi Hubung SingkatNilai Truthy dan FalsyRingkasan: Logika Sederhana7Logika Percabangan Dasar
Pernyataan if-thenPernyataan if-then-elsePernyataan elseifUlasan: Peti Harta Karun10Table Bagian 1: Gaya list
Apa Itu Table?Membuat TableMengakses Elemen Berdasarkan IndeksMengubah Elemen Berdasarkan IndeksOperator Panjang '#'table.insert()table.remove()Ulasan: Mengelola Anggota Pesta13Proyek: Toko Ramuan Sederhana
Penyiapan ProyekMenambahkan Ramuan2Variabel dan Tipe Data
Apa Itu Variabel?AngkastringBooleanNilai 'nil'Fungsi type()Konvensi PenamaanRangkuman: Profil Karakter5Output Dasar
Mencetak LiteralMencetak VariabelMencetak Beberapa NilaiMenggabungkan string dan VariabelFungsi tostring()InputKonversi TipeRangkuman: Laporan StatusRangkuman: Hingga 1208Dasar Manipulasi string
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Ulasan, Format Nama Pengguna11Tabel 2: Bergaya Dictionary
Pasangan Kunci-NilaiMembuat Tabel Bergaya DictionaryMengakses dengan Notasi Kurung SikuMengakses dengan Notasi TitikMenambahkan dan Mengubah PasanganMenghapus Pasangan dengan nilUlasan: Property Item14Cakupan Variabel
Variabel GlobalVariabel LokalMengapa Menggunakan Variabel Lokal?Cakupan dan BlokRangkuman: Teka-teki Cakupan3Operator 1: Aritmetika & Penggabungan
Operator AritmetikaOperator ModuloOperator PemangkatanPenggabungan stringPrioritas OperatorRangkuman: Perhitungan Sederhana6Proyek: Menampilkan Statistik Karakter
Pesan Selamat DatangDeklarasikan Statistik Karakter9Dasar-Dasar Fungsi
Mendeklarasikan FungsiMemanggil FungsiFungsi dengan ParameterFungsi dengan Beberapa ParameterPernyataan 'return'Ulasan: Kalkulator LuasLatihan sendiri: Compiler Lua online