Ruby 循环中未定义数组?

Ruby 循环中未定义数组?,ruby,arrays,loops,Ruby,Arrays,Loops,我有如下代码: arra = ["a","b","c"] arrb = ["a","e","d"] arrc = arra - arrb while arrc.size != 0 somedef(arrc) end 我得到这个错误: NameError:main:对象的未定义局部变量或方法“arrc” 指向while循环内的线。有人能帮我理解为什么会这样吗?你在“somedef”中做过类似的事情吗: 如果是这样,则会出现错误,因为“arrc”不是全局变量。改为这样做: def so

我有如下代码:

arra = ["a","b","c"]

arrb = ["a","e","d"]

arrc = arra - arrb

while arrc.size != 0
   somedef(arrc)
end
我得到这个错误: NameError:main:对象的未定义局部变量或方法“arrc”
指向while循环内的线。有人能帮我理解为什么会这样吗?

你在“somedef”中做过类似的事情吗:

如果是这样,则会出现错误,因为“arrc”不是全局变量。改为这样做:

def somedef(a)
    p a
end

当arrc时,您希望
做什么?显示完整的错误消息和
somedef
arrc,size
的实现与:
arrc.size
:-)这可能是我的答案。如果我将while循环转换为def,我可以将数组作为参数,然后它将被正确地传递。谢谢
def somedef(a)
    p a
end