本帖最后由 KB.Driver 于 2019-1-10 17:04 编辑
你这编辑还把标题和问题描述都改了= =
这样显得我答非所问啊
抽取其实也简单。
class Array def 抽取(number) #number是抽取的数量 raise "数组长度小于要抽取的数量!" if self.size < number result = [] while result.size < number index = rand(self.size) result << index unless result.include?(index) #防止抽到重复的 end result.collect{|index| self[index]} end end #使用方法: array.抽取(3)
class Array
def 抽取(number) #number是抽取的数量
raise "数组长度小于要抽取的数量!" if self.size < number
result = []
while result.size < number
index = rand(self.size)
result << index unless result.include?(index) #防止抽到重复的
end
result.collect{|index| self[index]}
end
end
#使用方法: array.抽取(3)
|