Использование класса для создания класса моей песни
Я прохожу трудный путь по изучению Руби - ex40
В настоящее время код работает нормально. Это не моя проблема. Моя проблема - каждый раз, когда я добавляю новую песню. А) Мне нужно создать переменную экземпляра внутри метода инициализации. Б) Затем я должен дать ему attr_reader.
Что я знаю, если смогу А) не продолжать создавать новые переменные экземпляра, а просто переменные внутри класса Song. Б) Не нужно создавать attr_reader для каждой переменной.
class Song
def initialize()
@jcole_lighter = "Come here, I\'m about to take you higher"
@hold_on_drake = ["Cause you\'re a good girl and you know it",
"You act so different around me",
"Cause you\'re a good girl and you know it"]
end
def sing_me_a_song()
for line in initialize
puts line
end
end
attr_reader :jcole_lighter
attr_reader :hold_on_drake
end
thing = Song.new
puts thing.jcole_lighter()
puts "-"*10
thing= Song.new
puts thing.hold_on_drake()
1 ответ
Проверьте это для хорошего объяснения attr_reader
, attr_writer
, а также attr_accessor
,
И проверьте это, чтобы узнать, как добавить параметры в конструктор.
Вы могли бы иметь :attr_accessor :artists
внутри Song
И в initialize
сделай это:
@artists = Array.new
Тогда вы можете иметь метод add
:
def add(artist)
@artists << artist
end
Просто идея. Всегда рад помочь фанату Дрейка.