Ruby错误:参数数量错误(给定4个,预期为0)(ArgumentError)

Min*_*t.K 1 ruby

我是一个红宝石初学者,我正在尝试制作一个称为print的方法,该方法可以打印给定数组中的所有元素。我希望我的代码收到未定义的局部变量错误。

这就是我从Youtube得到的。这给出了未定义的局部变量错误。

movies = ["good","bad"]

def good_movies
    movies.each do |movies|
        puts "I like #{movie}"
    end
end

good_movies
Run Code Online (Sandbox Code Playgroud)

我正在使用交互式Ruby。这是我的版本。

numbers = [1,2,3]

def print
    numbers.each do |number|
        puts "#{number}"
    end
end

print 
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:(irb):2:在`print'中:错误的参数数量(给定4,预期为0)(ArgumentError)。为什么我得到这个,而不是未定义的局部变量错误?

到底是怎么回事?

Pau*_* Ro 5

您必须将参数“数字”传递给该print方法。

numbers = [1,2,3]

def print(nums)
    nums.each do |number|
        puts number
    end
end
Run Code Online (Sandbox Code Playgroud)

然后:

print(numbers)
Run Code Online (Sandbox Code Playgroud)