如何获取sample()返回的元素的索引?

时间:2012-07-01 02:34:44

标签: ruby

我正在使用Array.sample从数组中返回一个随机元素。

我想获得该元素的索引以生成永久链接。有没有内置的方法来做到这一点?或者我需要自己动手吗?

2 个答案:

答案 0 :(得分:3)

我不认为有预先解决的解决方案,但你可以轻松地制作自己的解决方案。您可以在索引上使用sample

i = (0 .. a.length).to_a.sample
e = a[i]

它为您提供了索引i和采样元素e。或者,由于您只是提取大小为1的样本,请直接使用rand并跳过所有sample噪音:

i = rand(a.length)
e = a[i]

答案 1 :(得分:0)

如何使用find_index

如果你有:

my_array = [:foo,:qux]

你可以这样做:

my_sample = my_array.sample

然后:

my_index = my_array.find_index(my_sample)