Skip to content

Instantly share code, notes, and snippets.

@klebervirgilio
Created April 8, 2011 21:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save klebervirgilio/910784 to your computer and use it in GitHub Desktop.
Save klebervirgilio/910784 to your computer and use it in GitHub Desktop.
class Array
def delete_first_occurence!(array=nil)
return nil if array.nil? || !array.is_a?(Array)
array.each do |item|
self.delete_at(self.index(item)) if self.index(item)
end
self
end
def delete_first_occurence(array=nil)
return nil if array.nil? || !array.is_a?(Array)
_return_ = self.dup
array.each do |item|
_return_.delete_at(self.index(item)) if self.index(item)
end
_return_
end
def delete_first_occurence_reverse!(array=nil)
return nil if array.nil? || !array.is_a?(Array)
self.reverse!
array.each do |item|
self.delete_at(self.index(item)) if self.index(item)
end
self.reverse!
end
def delete_first_occurence_reverse(array=nil)
return nil if array.nil? || !array.is_a?(Array)
_return_ = self.dup.reverse
array.each do |item|
_return_.delete_at(self.index(item)) if self.index(item)
end
_return_.reverse!
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment