第一个代码有效,但我不明白为什么第二个代码没有。任何见解将不胜感激。我知道在这个例子中我真的不需要一个数组,我只是想让它为了学习而工作。
def stamps(input)
if input % 5 == 0
puts 'Zero!'
else
puts 'NO!'
end
end
print stamps(8)
但这不起作用:
array_of_numbers = [8]
def stamps(input_array)
if input_array % 5 == 0
puts 'Zero!'
else
puts 'NO!'
end
end
print stamps(array_of_numbers)
答案 0 :(得分:0)
因为input_array是一个数组而8是一个数字。使用first
检索数组的第一个元素。
array_of_numbers = [8]
def stamps(input_array)
if input_array.first % 5 == 0
puts 'Zero!'
else
puts 'NO!'
end
end
print stamps(array_of_numbers)
答案 1 :(得分:0)
以下函数适用于输入为数字或数组的情况:
def stamps(input)
input = [input] unless input.is_a?(Array)
if input.first % 5 == 0
puts 'Zero!'
else
puts 'NO!'
end
end