为简单起见,我有一个产品清单。
现在我想创建一个方法,每次都会生成一个随机产品。
我如何实现这一目标。
答案 0 :(得分:7)
假设您有产品的阵列产品,那么您可以通过以下代码选择随机产品:
randon_product = products.sample
答案 1 :(得分:2)
在1.9中,您有[].sample
,在1.8中,您有[].choice
。有一个名为backports的宝石可以协调这个和其他差异,或者你可以自己这样做:
class Array
def sample
choice
end
end unless Array.method_defined? :sample
答案 2 :(得分:1)
在Ruby 1.8中,最简单的方法可能是Array#choice
irb(main):005:0> 5.times {puts (1..100).to_a.choice}
14
92
84
65
9
=> 5
irb(main):006:0> [5,3,234,234,3,2,2,2].choice
=> 3
编辑在Ruby 1.9中,它被称为sample
,而不是choice
。
答案 3 :(得分:0)
array = [product1, product2, product3]
puts array[rand(array.size)]