从数组ruby中删除所有元素并引发错误

时间:2015-02-07 12:40:45

标签: ruby arrays error-handling

我对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

1 个答案:

答案 0 :(得分:2)

你可以把它放在if条件下。

def raise_error_clear
  if(full?)
    array.clear
    raise 'Airport is full'  
  end
end