v rubín, nemusíte deklarovať premenné, ale skôr, ako sa na ne dá odkazovať, musíte im niečo priradiť.
Ak máte na mysli a lokálna premenná ktorá ešte neexistuje, môže sa zobraziť jedna z dvoch chýb.
Ruby NameError Správy
NameError: nedefinovaná lokálna premenná alebo metóda `a 'pre #
NameError: nedefinovaná lokálna premenná alebo metóda `a 'pre main: Object
Poznámka: Namiesto nich by mohli byť rôzne identifikátory 'A' vyššie.
Toto je príklad, kde kód vygeneruje správu Ruby „NameError“ od premennej zatiaľ nič nebolo priradené:
kladie a
Ako opraviť chybu
Predtým, ako sa dajú použiť, musia byť priradené premenné. Pri použití vyššie uvedeného príkladu je teda opravenie chyby také jednoduché ako to:
a = 10. kladie a.
Prečo sa zobrazuje táto chyba
Zrejmá odpoveď je, že hovoríte o premennej, ktorá ešte nebola vytvorená. Toto je najčastejšie kvôli preklepu, ale môže sa to stať pri refaktoringu kódu a premenovaní premenných.
Ak ste chceli zadať reťazec, môže sa zobraziť aj chyba Ruby „NameError: undefined local variable“. Reťazce sa chápu, keď existujú medzi úvodzovkami. Ak ste nepoužívali úvodzovky, Ruby si bude myslieť, že ste chceli odkazovať na metódu alebo premennú (ktorá neexistuje) a vyhodiť chybu.
Obráťte sa teda na svoj kód a zistite, na čo sa má táto premenná odvolávať, a opravte ju. Možno budete chcieť vyhľadať rovnakou metódou aj iné prípady s rovnakým názvom premennej - ak je to na jednom mieste nesprávne, na iných to môže byť nesprávne.