当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby Array.sample用法及代码示例


本文简要介绍ruby语言中 Array.sample 的用法。

用法

sample(random: Random) → object
sample(n, random: Random) → new_ary

self 返回随机元素。

当没有给出参数时,从 self 返回一个随机元素:

a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a.sample # => 3
a.sample # => 8

如果 self 为空,则返回 nil

当给定参数 n 时,返回一个新数组,其中包含来自 selfn 随机元素:

a.sample(3) # => [8, 9, 2]
a.sample(6) # => [9, 6, 10, 3, 1, 4]

返回不超过 a.size 元素(因为没有引入新的重复项):

a.sample(a.size * 2) # => [6, 4, 1, 8, 5, 9, 10, 2, 3, 7]

self 可能包含重复项:

a = [1, 1, 1, 2, 2, 3]
a.sample(a.size * 2) # => [1, 1, 3, 2, 1, 2]

参数 n 必须是非负数值。结果数组的顺序与 self 的顺序无关。如果self 为空,则返回一个新的空数组。

可选的 random 参数将用作随机数生成器:

a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a.sample(random: Random.new(1))     #=> 6
a.sample(4, random: Random.new(1))  #=> [6, 10, 9, 2]

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Array.sample。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。