1

在红宝石中:

我从数组中采样元素。我每 30 个左右的样本都会看到重复的(相同的元素)。有时相隔 5-6 个样本。为什么?

这是我的代码:

some_array = IO.readlines("file with 5000 unique elements")

some_array.shuffle!

@random_element = some_array.sample

puts @random_element
4

1 回答 1

0

如果您想要数组中的 n 个随机非重复元素,您应该调用some_array.sample(n).

Sample 不保证两个连续调用不会包含重复;它保证在一次调用中选择的所有元素都不会。

于 2016-11-04T16:49:16.360 回答