如何从ruby中的数组中选择随机项(而不是rails)

Gar*_*ary 9 ruby arrays random

我有一系列国家:

@countries = ["Canada", "Denmark", "Germany", "Isle of Man", "Namibia", "Qatar", "South Africa",  "United Kingdom","United States"]
Run Code Online (Sandbox Code Playgroud)

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

@test = [{ :name   => "AAA -"+Faker::Name.name,  :country => @countries.???? ....}]
Run Code Online (Sandbox Code Playgroud)

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

@countries.rand(mlen)
Run Code Online (Sandbox Code Playgroud)

不起作用并返回NoMethodError: private methodrand'调用#`.

小智 31

用途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"
Run Code Online (Sandbox Code Playgroud)