Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 从数组中检索x个随机元素_Ruby On Rails_Ruby_Arrays - Fatal编程技术网

Ruby on rails 从数组中检索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:

我正在努力编写一个干净的方法,当传递一个字符串数组,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: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版本中,会返回独特的元素吗?在我的问题中,忘了提到这一点?