【发布时间】:2016-11-20 19:17:50
【问题描述】:
我是一名 ruby 初学者,我正在尝试创建一个名为 print 的方法,该方法可以打印给定数组中的所有元素。我希望我的代码得到一个未定义的局部变量错误。
这是我从 Youtube 得到的。这会产生未定义的局部变量错误。
movies = ["good","bad"]
def good_movies
movies.each do |movies|
puts "I like #{movie}"
end
end
good_movies
我正在使用交互式 Ruby。这是我的版本。
numbers = [1,2,3]
def print
numbers.each do |number|
puts "#{number}"
end
end
print
我收到一个错误:(irb):2:in `print': 参数数量错误(给定 4,预期为 0)(ArgumentError)。为什么我得到这个,而不是未定义的局部变量错误?
发生了什么事?
【问题讨论】:
-
尽量避免覆盖
Kernel方法的方法名称(例如print等)。第二期@Paul Ro 指出如下。 -
你是对的。我通过更改方法名称解决了它。
-
您是否粘贴了正确的错误信息?
-
你必须在你的方法中定义一个参数,然后在调用方法时传递一个可枚举作为参数。
标签: ruby