11

我有一系列国家:

@countries = ["Canada", "Denmark", "Germany", "Isle of Man", "Namibia", "Qatar", "South Africa",  "United Kingdom","United States"]

并且正在构建一些随机数据进行测试,如下所示:

@test = [{ :name   => "AAA -"+Faker::Name.name,  :country => @countries.???? ....}]

如何从@countries哈希中获取随机值?

@countries.rand(mlen)

不起作用并返回NoMethodError: private methodrand' 要求 #`。

4

2 回答 2

34

使用Array#sample

@countries = ["Canada", "Denmark", "Germany", "Isle of Man", "Namibia", "Qatar", "South Africa",  "United Kingdom","United States"]

random_country = @countries.sample
# => "Canada"

random_country = @countries.sample
# => "United Kingdom"
于 2012-12-06T23:34:18.167 回答
4

你也可以使用random_country = @countries.shuffle.first.

于 2012-12-06T23:45:23.033 回答