Ruby 它给了我未定义的局部变量错误?

Ruby 它给了我未定义的局部变量错误?,ruby,Ruby,不知道为什么这会给我一个错误 “`greet':来自``的#(NameError)的未定义局部变量或方法`name'” 问题是name是一个局部变量,仅在构造函数中可用。若要在greet方法中将其作为实例变量引用,请使用{@name}而不是{name}问题在于name是一个局部变量,仅在构造函数中可用。若要在greet方法中将其作为实例变量引用,请使用{@name}而不是{name}您的意思是?class Person def initialize(name)@name=name end def

不知道为什么这会给我一个错误

“`greet':来自``的#(NameError)的未定义局部变量或方法`name'”


问题是
name
是一个局部变量,仅在构造函数中可用。若要在greet方法中将其作为实例变量引用,请使用
{@name}
而不是
{name}

问题在于
name
是一个局部变量,仅在构造函数中可用。若要在greet方法中将其作为实例变量引用,请使用
{@name}
而不是
{name}

您的意思是?class Person def initialize(name)@name=name end def greet(other_name)“Hi#{other_name},我的名字是{@name}返回other_name enden@Amidabrian,是的。但是,我猜您要么要返回该值,要么要打印它。如果要返回,请删除最后一行(
return other_name
)。如果要打印,请将
put
放在字符串前面:
put“Hi#{other_name},我的名字是#{@name}“
。谢谢你的帮助你的意思是什么?class Person def initialize(name)@name=name end def greet(other_name)“嗨{other_name},我的名字是{@name}”返回other_name enden@Amidabrian,是的。但是,我猜您要么要返回该值,要么要打印它。如果要返回该值,请删除最后一行(
return other_name
)。如果要打印它,请将
put
放在字符串前面:
put“Hi{other_name},我的名字是{@name}”
。谢谢您的帮助
class Person
  def initialize(name)
    @name = name
  end

  def greet(other_name)
    "Hi #{other_name}, my name is #{name}"
    return other_name
  end
end