Di Rubi, Anda tidak harus mendeklarasikan variabel, tetapi Anda harus menetapkan sesuatu kepada mereka sebelum mereka dapat dirujuk.
Jika Anda mengacu pada a variabel lokal yang belum ada, Anda mungkin melihat satu dari dua kesalahan.
Pesan Ruby NameError
NameError: variabel atau metode lokal tidak terdefinisi `a 'untuk #
NameError: variabel lokal yang tidak ditentukan atau metode `a 'untuk main: Object
catatan: Mungkin ada berbagai pengidentifikasi di tempat 'Sebuah' atas.
Ini adalah contoh di mana kode akan menghasilkan pesan Ruby "NameError" sejak variabel Sebuah belum ditugaskan untuk apa pun:
menempatkan a
Cara Memperbaiki Kesalahan
Variabel harus ditetapkan sebelum dapat digunakan. Jadi, dengan menggunakan contoh dari atas, memperbaiki kesalahannya semudah melakukan ini:
a = 10. menempatkan a.
Mengapa Anda Mendapatkan Kesalahan Ini
Jawaban yang jelas adalah bahwa Anda merujuk ke variabel yang belum dibuat. Ini paling sering karena kesalahan ketik tetapi mungkin terjadi ketika refactoring kode dan variabel penamaan ulang.
Anda mungkin juga melihat kesalahan Ruby "NameError: variabel tidak terdefinisi" jika Anda ingin memasukkan string. String dipahami ketika mereka ada di antara kutipan. Jika Anda tidak menggunakan tanda kutip, Ruby akan berpikir Anda bermaksud merujuk metode atau variabel (yang tidak ada) dan melemparkan kesalahan.
Jadi, lihat kembali kode Anda untuk melihat apa variabel ini seharusnya merujuk, dan memperbaikinya. Anda mungkin juga ingin mencari contoh lain dari nama variabel yang sama dalam metode yang sama - jika itu salah di satu tempat, itu mungkin salah di tempat lain.