Tworzenie klasy

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 ?

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)

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.

Nie działa

Nie machnąłeś się gdzieś czasem i nie napisałeś Imie wielką literą?

nie

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

I następnym razem pamiętaj o indentation (tabach) one naprawdę mają znaczenie

wcięcia (czy jak to nazwałeś indentation ;-)) to nie tylko taby, ale przede wszystkim spacje, o czym np. YAML przypomina regularnie :wink: