Witam
Mam problem ze stworzeniem klasy w Ruby.A konkretnie gdy wpisuję:
class Osoba
def initialize(imie,nazwisko,wiek)
@imie = imie
@nazwisko = nazwisko
@wiek = wiek
end
end
pracownik = Osoba.new("Jan","Kowalski",35)
wyświetla mi się komunikat
#<ArgumentError: undefined class/modyle Imie>
Gdzie znajduję się błąd ?
Jacek
January 1, 2015, 2:50pm
2
Jesteś pewien, że wkleiłeś cały kod? Sprawdź dokładnie którego pliku i której linii dotyczy komunikat o błędzie.
Tak jestem pewien a błąd dotyczy linii
pracownik = Osoba.new("Jan","Kowalski",35)
Jacek
January 1, 2015, 3:59pm
4
Niestety jestem sceptyczny.
2.1.2 :001 > class Osoba
2.1.2 :002?> def initialize(imie,nazwisko,wiek)
2.1.2 :003?> @imie = imie
2.1.2 :004?> @nazwisko = nazwisko
2.1.2 :005?> @wiek = wiek
2.1.2 :006?> end
2.1.2 :007?> end
=> :initialize
2.1.2 :008 >
2.1.2 :009 > pracownik = Osoba.new("Jan","Kowalski",35)
=> #<Osoba:0x00000001e17ac0 @imie="Jan", @nazwisko="Kowalski", @wiek=35>
2.1.2 :010 >
Literówki w błędzie sugerują też, że nie przeklejałeś tego, tylko przepisywałeś, co dodatkowo utrudnia jakąkolwiek pomoc. Tak jak napisał Jacek - powyższy kod w takiej postaci po prostu działa.
Lypa
January 2, 2015, 1:28pm
7
Nie machnąłeś się gdzieś czasem i nie napisałeś Imie
wielką literą?
patrynio0147:
Nie działa
Jak odpalasz, jaki jest dokładnie komunikat błędu? Czy możesz wkleić cały kod prosto do irb (tak jak zrobił to Jacek)?
ok znalazłem błąd.Dzięki za pomoc
Jakbyś się czuł gdyby ktoś na pierwszego posta odpisał Ci: “Ok, wiem co jest źle.” -.-
Błąd polegał na tym, że plik znajdował się w złym katalogu
ponczek
January 16, 2015, 12:21am
13
I następnym razem pamiętaj o indentation (tabach) one naprawdę mają znaczenie
ozim
January 16, 2015, 1:45am
14
wcięcia (czy jak to nazwałeś indentation ;-)) to nie tylko taby, ale przede wszystkim spacje, o czym np. YAML przypomina regularnie