當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。