summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/rbot/core/utils/extends.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/rbot/core/utils/extends.rb b/lib/rbot/core/utils/extends.rb
index b1964617..84833d9f 100644
--- a/lib/rbot/core/utils/extends.rb
+++ b/lib/rbot/core/utils/extends.rb
@@ -108,6 +108,17 @@ class ::Array
self.delete_at(index)
end
+ # This method deletes a given object _el_ if it's found at the given
+ # position _pos_. The position can be either an integer or a range.
+ def delete_if_at(el, pos)
+ idx = self.index(el)
+ if pos === idx
+ self.delete_at(idx)
+ else
+ nil
+ end
+ end
+
# shuffle and shuffle! are defined in Ruby >= 1.8.7
# This method returns a new array with the same items as