Netbeans, brak podkreślania, błędy

Cześć!

Zaczynam się uczyć Ruby z książki “Programowanie w języki Ruby” z Heliona.

  1. Zainstalowałam sobie Netbeansa i doinstalowałam plugina do Ruby. Nadal się zastanawiam co robię źle, skoro w ogóle nie podkreśla mi błędów.

  2. W książce mają coś takiego:

class Song
def duration= (new_duration)
@duration =new_duration
end
end
song = Song.new(“Whisky in the jar”, “Metallica”, 330)
song.duration ->330

rozumiem że trzeba jeszcze zainicjować w klasie zmienne, a co zrobić, żeby wyświetlić wartość song.duration?
Próbowałam poprzez:
printf( “song duration is %3.0f”, song.duration )

niestety to nie działa :frowning:

Proszę o pomoc!

Poczytaj o :attr_accessor, :attr_reader i :attr_writer które to tworzą w łatwy sposób gettery i settery dla atrybutów obiektu. Prawdopodobnie coś takiego chcesz mieć:

class Song
  attr_accessor :duration
  ...
end

Jeden Pan mi wysłał odpowiedź że trzbabyło dopisać oddzielną metodę któa by zwracała @duration. I już działa. attr miałam w osobnym ćwiczeniu :slight_smile:

Nom, attr_accessor działa dokładnie tak, dopisuje metody:


def duration; @duration; end
def duration=(new_duration); @duration = new_duration; end

attr_reader i attr_writer dopisują odpowiednio pierwszą i drugą z metod. To tak z grubsza :slight_smile: