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 method、 #` に対して呼び出された rand' を返します。

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 に答える