首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调试初级

调试初级
EN

Stack Overflow用户
提问于 2014-12-29 16:49:04
回答 2查看 209关注 0票数 2

我在做"8.1调试初级阶段“。其中一个练习要求我:

修正该方法,以便从我传递给它的参数中打印出名称和年龄。

演习的内容如下:

代码语言:javascript
复制
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@符号:

代码语言:javascript
复制
def describe(user_info)
  "My name is #{@user_info[0]} and I'm #{@user_info[1]} years old."
end

p user_info

但收到了一个错误。

有谁能告诉我如何才能得到积极的结果,请解释参数后方括号的含义是什么?

EN

回答 2

Stack Overflow用户

发布于 2015-10-20 10:27:36

我用这种方式解决了这个问题:

代码语言:javascript
复制
def describe(user_info)
  p "My name is #{user_info["name"]} and I'm #{user_info["age"]} years old."
end

请阅读错误=)

票数 1
EN

Stack Overflow用户

发布于 2014-12-29 17:46:56

错误是:

代码语言:javascript
复制
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移动到方法中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27692758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档