文書   >   Swift   >   Swift 標準ライブラリ >     Collections   >   Supporting Types   >   Slice   >   shuffled(using:)
汎用インスタンスメソッド
shuffled(using:)
与えられたジェネレータを乱数のソースとして使用してシャッフルされたシーケンスの要素を返します。
宣言
func shuffled<T>(using generator: inout T) -> [Base.Element] where T : RandomNumberGenerator
パラメータ
generator | シーケンスをシャッフルするときに使用する乱数ジェネレータ。 |
戻り値
このシーケンスの要素のシャッフルされた順序の配列。
議論
このメソッドを使用して、カスタムの乱数ジェネレータを使用しているときにシーケンスの要素をランダム化できます。たとえば、その範囲で shuffled(using:) メソッドを呼び出すことで、0 から 9 の数値をシャッフルできます。
let numbers = 0...9
let shuffledNumbers = numbers.(using: &myGenerator)
// shuffledNumbers == [8, 9, 4, 3, 2, 6, 7, 0, 5, 1]
複雑さ:O(n)、ここで n はシーケンスの長さです。
シーケンスをシャッフルするために使用されるアルゴリズムは、将来のバージョンの Swift で変更される可能性があります。プログラムを実行するたびに同じシャッフルされた順番になるジェネレータを渡す場合、異なるバージョンの Swift を使用してプログラムをコンパイルすると、そのシーケンスが変わることがあります。
関連
汎用の制約
T : RandomNumberGenerator