Ruby中的未初始化常量

Ruby中的未初始化常量,ruby,Ruby,我正在努力完成Ruby的教程,关于CodeAcademy。下面的代码给出了错误 “未初始化常量列表::任务(名称错误) from to_do.rb:2:in main“ 我知道这可能与List类无法访问Task类有关,但我看不出这会在哪里发生故障?代码如下 #list class class List attr_reader :all_tasks if __FILE__ == $PROGRAM_NAME my_list = List.new

我正在努力完成Ruby的教程,关于CodeAcademy。下面的代码给出了错误

“未初始化常量列表::任务(名称错误) from 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
#列表类
班级名单
属性读取器:所有任务
如果_文件_==$PROGRAM\u名称
my_list=list.new
放置“您已创建新列表”
my_list.add(Task.new(“制作早餐”))
放置“您已将任务添加到待办事项列表”
结束
def初始化
@所有_任务=[]
结束
def添加(任务)

@运行此行时的所有任务

my_list.add(Task.new('Make Breakfast'))
尚未定义任务
。几行之后就会发生这种情况


只需在运行此行时交换
任务
列表
类的定义。

my_list.add(Task.new('Make Breakfast'))
尚未定义任务。几行之后就会发生这种情况


只需交换
任务
列表
类的定义。

当您以脚本形式从命令行运行该文件时,声明顺序很重要。如果将任务声明移到列表上方,您会发现它将修复有问题的错误。

当您从命令行以脚本形式运行该文件时,声明顺序很重要。如果您将任务声明移到列表上方,您会发现它将修复有问题的错误。

有错误跟踪吗?
\uuuuuu文件\uuuuuu==$PROGRAM\u NAME
。将其移到类之外或调用该方法。当该值为true时,它将运行并尝试访问尚未定义的任务。从
initialize
调用此方法是一种很好的做法。有任何错误跟踪吗?
\uuuu FILE\uuuu==$PROGRAM\u NAME
。将其移到类之外或调用该方法。当该值为true时,它将运行并尝试访问尚未定义的任务。从
initialize
调用此方法是一种很好的做法。列表的初始值设定项和
add
都没有定义,OP很快就会发现。此脚本必须从列表类中提取并移动到文件末尾。列表的初始值设定项和
add
都没有定义,OP很快就会发现。此脚本必须从列表类中提取并移动到文件末尾。