【发布时间】:2017-11-21 00:01:54
【问题描述】:
我正在尝试在 CodeAcademy 上完成 this Ruby 教程。以下代码给了我错误
"未初始化的常量 List::Task (NameError) 从 to_do.rb:2:in main"
我知道这可能与 List 类无法访问 Task 类有关,但我看不出这会在哪里发生故障?代码如下。
#list class
class List
attr_reader :all_tasks
if __FILE__ == $PROGRAM_NAME
my_list = List.new
puts 'You have created a new list'
my_list.add(Task.new('Make Breakfast'))
puts 'You have added a task to the Todo List'
end
def initialize
@all_tasks = []
end
def add(task)
@all_tasks << task
end
end
#class task
class Task
attr_reader :description
def task_item(desription)
@new_item = description
end
end
【问题讨论】:
-
任何错误跟踪?
-
__FILE__ == $PROGRAM_NAME。将其移出类或调用该方法。当这个评估为真时,它将运行并尝试访问尚未定义的任务。从initialize调用此方法是一种很好的做法。
标签: ruby