我正在努力编写一个干净的方法,它在传递一个字符串数组并返回一个随机数组元素总数为x的列表时,例如。从数组中检索x个随机元素
def getrandomarrayelements(thearray, howmany)
return [something]
end
是的,我应该提交我现有的代码,而这些作品是不好的,这是8号线长,我有一种感觉,它可以在一个做了什么?
我正在努力编写一个干净的方法,它在传递一个字符串数组并返回一个随机数组元素总数为x的列表时,例如。从数组中检索x个随机元素
def getrandomarrayelements(thearray, howmany)
return [something]
end
是的,我应该提交我现有的代码,而这些作品是不好的,这是8号线长,我有一种感觉,它可以在一个做了什么?
在红宝石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]
和红宝石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版本中,是否会返回独特的元素,在我的问题中忘记提及? – creativetechnologist
是的,如果你的数组有uniq元素,它将是uniq。 –
这是一个洗牌和交易。有很多现有技术,不是吗? –