【发布时间】:2019-04-25 06:37:01
【问题描述】:
输出: 未初始化的常量 List::Task (NameError) 您已经创建了一个新列表
我认为正在发生的事情是,当我调用 Task.new 时,List 类可能在其自己的类中寻找任务方法或变量。
到目前为止,我尝试在我的 List 类中使用 include Task 和 require Task,但没有成功。我还尝试在我的 Task 类中声明 List 类。我还尝试使列表类成为 Task 类的父类。在网上搜索了一番后,我认为这是 Ruby 版本,甚至将 PATH 更改为较旧的 ruby 版本。
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 breakfest'))
puts 'You added a task'
end
def initialize
@all_tasks = []
end
def add(task)
all_tasks << task
end
end
class Task
attr_reader :description
def initialize(description)
@description = description
end
end
【问题讨论】:
-
仔细查看您的代码:您在代码中的哪个位置尝试实例化
Task?你在什么时候定义Task?这两点中的哪一点先于另一点?这说明了什么问题?
标签: ruby