我对Ruby很新。我正在研究的一个项目是要求我向数组中添加元素,该数组的最大容量为5.
一旦数组已满(即其中有五个对象),我需要返回一条错误消息并清除该数组。我已经设法分别实现了这两个操作,如下面的代码所示,但我无法将它们组合起来。
@capacity = 5
def full?
array_count == @capacity
end
def raise_error_clear
raise 'Array is full' if full?
end
如果达到了阵列的最大容量,我已设法删除数组中的所有元素。
def raise_error_clear
array.clear if full?
end
我希望有人可以帮助并解释如何将这两者结合起来,因此会给出错误消息并同时清除数组。我认为以下代码可以正常工作但我收到错误。
def raise_error_clear
raise 'Airport is full' && array.clear if full?
end
答案 0 :(得分:2)
你可以把它放在if条件下。
def raise_error_clear
if(full?)
array.clear
raise 'Airport is full'
end
end