我在做"8.1调试初级阶段“。其中一个练习要求我:
修正该方法,以便从我传递给它的参数中打印出名称和年龄。
演习的内容如下:
def describe(user_info)
"My name is #{user_info[0]} and I'm #{user_info[1]} years old."
end下面有一个提示:
在user_info上做一个p,看看我要传递给它的参数。
我在方法中的参数之前编写了语句p user_info和@符号:
def describe(user_info)
"My name is #{@user_info[0]} and I'm #{@user_info[1]} years old."
end
p user_info但收到了一个错误。
有谁能告诉我如何才能得到积极的结果,请解释参数后方括号的含义是什么?
发布于 2015-10-20 10:27:36
我用这种方式解决了这个问题:
def describe(user_info)
p "My name is #{user_info["name"]} and I'm #{user_info["age"]} years old."
end请阅读错误=)
发布于 2014-12-29 17:46:56
错误是:
class: NameError
message: undefined local variable or method `user_info' for main:Object
backtrace: RubyMonk:8:in `<top (required)>'user_info是在describe方法范围内定义的局部变量。正如错误消息中所述,它不是在方法之外定义的。将指令p user_info移动到方法中。
https://stackoverflow.com/questions/27692758
复制相似问题