为什么我的班级不在ruby工作?

时间:2011-12-17 20:30:40

标签: ruby syntax-error

我在IRB中测试我的代码,我输入了这个:

class be
  def new_text
    text = gets()
  end
  def show_text
    puts "#{text}"
  end
end

当我输入new_text时,它工作正常,但当我输入show_text时,它出现了一个错误:

NameError: undefined local variable or method `text' for #<BE:0xd3cc08>
        from (irb):14:in `show'
        from (irb):14:in `show'
        from C:/Program Files/Ruby1.9.2/bin/irb:12:in `<main>'

如何解决这个问题的想法?

1 个答案:

答案 0 :(得分:6)

将文本更改为实例变量:

class Be
  def new_text
    @text = gets()
  end
  def show_text
    puts "#{@text}"
  end
end

您收到错误是因为show_text方法正在尝试访问名为@text的变量,该变量尚未在原始示例中定义。