W Rubin, nie musisz deklarować zmiennych, ale musisz im coś przypisać, zanim będzie można się do nich odwołać.
Jeśli masz na myśli a zmienna lokalna który jeszcze nie istnieje, możesz zobaczyć jeden z dwóch błędów.
Ruby NameError Messages
NameError: niezdefiniowana zmienna lokalna lub metoda `a 'dla #
NameError: niezdefiniowana zmienna lokalna lub metoda `a 'dla main: Object
Uwaga: Zamiast nazwy mogą znajdować się różne identyfikatory 'za' powyżej.
Jest to przykład, w którym kod wygeneruje komunikat Ruby „NameError” od zmiennej za nie został jeszcze przypisany do niczego:
stawia
Jak naprawić błąd
Zmienne muszą zostać przypisane przed ich użyciem. Tak więc, korzystając z powyższego przykładu, naprawienie błędu jest tak proste, jak to zrobić:
a = 10. stawia.
Dlaczego otrzymujesz ten błąd
Oczywistą odpowiedzią jest to, że masz na myśli zmienną, która nie została jeszcze utworzona. Jest to najczęściej spowodowane literówką, ale może się zdarzyć podczas refaktoryzacji kodu i zmiany nazw zmiennych.
Możesz także zobaczyć błąd „NameError: niezdefiniowana zmienna lokalna” Ruby, jeśli chciałeś wprowadzić ciąg. Ciągi są rozumiane, gdy istnieją między cudzysłowami. Jeśli nie użyłeś cudzysłowów, Ruby pomyśli, że chciałeś odwołać się do metody lub zmiennej (która nie istnieje) i zgłosić błąd.
Więc spójrz wstecz na swój kod, aby zobaczyć, do czego ta zmienna ma się odnosić, i napraw go. Możesz także szukać innych instancji o tej samej nazwie zmiennej w tej samej metodzie - jeśli jest niepoprawna w jednym miejscu, może być niepoprawna w innych.