从返回self的数组中删除

如果我想从数组中删除一些元素并返回自身,下面是foo1和foo2(当只有一个要删除的元素时,foo2)正确的方法吗?

class Array def foo1 *args; delete_if{|x| args.include?(x)} end def foo2 arg; delete(arg); self end end 

 class Array def foo3 (*args); self - args; end end 
 array.reject{|element| element == value_of_element_to_be_deleted}