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