From 1eecd10b8f813d545600845a67944254821edfe4 Mon Sep 17 00:00:00 2001 From: Giuseppe Bilotta Date: Sun, 29 Jul 2007 00:16:02 +0200 Subject: [PATCH] Array#pick_some method --- mark2.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/mark2.rb b/mark2.rb index 051e21b..84ea890 100644 --- a/mark2.rb +++ b/mark2.rb @@ -14,6 +14,17 @@ class Array def pick_one self[rand(self.size)] end + + def pick_some(n) + return nil if self.empty? + i = rand(self.size) + if n < 0 + count = rand(self.size-i) + else + count = rand([n, self.size-i].min) + end + self[i, count] + end end class ChanceHash -- 2.32.0.93.g670b81a890