Я новичок в рубине.Зачем вам нужно «инициализировать» в классе ruby?
То, что я не получаю, если некоторые шаблоны повторяются в моем коде, должно быть что-то, что я мог бы сделать, чтобы вычесть эту часть и сохранить ее.
Например, вот что это выглядит сейчас:
class Book
def initialize(title, author)
@title = title
@author = author
end
def info
puts [@title, @author]
end
end
То, что я хочу, чтобы код выглядеть следующим образом:
class Book(title, author)
def info
puts [title, author]
end
end
Какие причины я мог придумать:
initialize вызывается каждый раз, когда объект был создан. поэтому, если есть что-то, что я хочу делать каждый раз, когда создается объект, инициализация является официальным способом.
Инициализация указывает, сколько аргументов примет конструктор. без которых потребуется 0.
Но мне все еще не нужно. Возможно ли, что я могу изменить синтаксис, чтобы он выглядел как второй, вместо того, чтобы выполнять инициализацию каждый раз, когда я создаю класс, если у меня нет ничего особенного для выполнения при построении?
Возможно ли, что я могу изменить синтаксис, чтобы он выглядел как второй, вместо того, чтобы выполнять инициализацию каждый раз, когда я создаю класс, если у меня нет ничего особенного для выполнения при построении? – Luxiyalu
Со структурой, да: 'Book = Struct.new (: title,: author) do; def info; ставит "# {title}"; конец; end' – Zabba
Тогда почему я не вижу, чтобы люди использовали его таким образом? Это просто обычаи или есть какие-то другие особенности об оригинальном классе? – Luxiyalu