Ruby on rails 从数组中检索x个随机元素
我正在努力编写一个干净的方法,当传递一个字符串数组,x返回一个数组元素的随机列表,总计x,例如Ruby on rails 从数组中检索x个随机元素,ruby-on-rails,ruby,arrays,Ruby On Rails,Ruby,Arrays,我正在努力编写一个干净的方法,当传递一个字符串数组,x返回一个数组元素的随机列表,总计x,例如 def getrandomarrayelements(thearray, howmany) return [something] end 是的,我应该提交我现有的代码,虽然工作不好,它有8行长,我有一种感觉,它可以在一个完成 在ruby 1.9中: irb(main):001:0> [1,2,3,4,5].sample(3) => [2, 4, 5] irb(main):002:
def getrandomarrayelements(thearray, howmany)
return [something]
end
是的,我应该提交我现有的代码,虽然工作不好,它有8行长,我有一种感觉,它可以在一个完成 在ruby 1.9中:
irb(main):001:0> [1,2,3,4,5].sample(3)
=> [2, 4, 5]
irb(main):002:0> [1,2,3,4,5].sample(3)
=> [2, 5, 3]
对于ruby 1.8,类似这样的内容:
def sample(arr, n)
arr.shuffle[0...n]
end
irb(main):009:0> sample([1,2,3,4,5], 3)
=> [5, 1, 3]
irb(main):010:0> sample([1,2,3,4,5], 3)
=> [3, 4, 2]
这是一个洗牌和交易。在1.9版本中,会返回独特的元素吗?在我的问题中,忘了提到这一点?