Я новичок в программировании и написал простую программу:Создать новый экземпляр класса в Ruby,
class Chapter
def initialize
@text
@number
end
end
def new_chapter
tmp_chapter = Chapter.new
tmp_chapter.text = 'Chapter about ..'
tmp_chapter.number = '11'
end
puts new_chapter
puts ObjectSpace.each_object(Chapter) {|x| p x}
Но я получаю эту ошибку:
test2.rb:10:in `new_chapter': undefined method `text=' for #<Chapter:0x200b830>
(NoMethodError)
from test2.rb:14:in `<main>'
Так что я сделал не так ? Я знаю, что есть другие способы создания нового экземпляра, но я хочу сделать это так! Благодаря!
также отметить, инициализатор ничего не делает в данный момент –
@JanDvorak я не могу изменить линию, которую вы упомянули .. Существует некоторая блокировка в пост. :( –
У вас есть опечатка на второй строке вашего первого примера кода. 'Attr_accessor'. –