文書   >   Swift   >   Swift 標準ライブラリ   >   Numbers and Basic Values   >   SystemRandomNumberGenerator     Beta  
構造体
SystemRandomNumberGenerator
システムの乱数データのデフォルトのソース。
概観
ランダムな値を生成したり、コレクションをシャッフルしたり、ランダムなデータに依存する別の操作を実行する場合、この型はデフォルトで使用されるジェネレータです。たとえば、この例の 2 つのメソッド呼び出しは同等です。
let x = Int.random(in: 1...100) var g = SystemRandomNumberGenerator() let y = Int.random(in: 1...100, using: &g)
SystemRandomNumberGenerator は自動的にシードされ、複数のスレッドで安全に使用でき、可能な限り暗号的に安全なアルゴリズムを使用します。
SystemRandomNumberGenerator のプラットフォームでの実装
システムジェネレータは自動的にすべてのプラットフォームにシードされ、スレッドセーフであるが、ジェネレータによって生成される乱数データのストリームの暗号品質は様々である可能性があります。詳細については、各プラットフォームで使用される API のドキュメントを参照してください。
- Apple プラットフォームは arc4random_buf(3) を使用します。
- Linux プラットフォームは、利用可能な場合は getrandom(2) を使用します。それ以外の場合は、/dev/urandom から読み込みます。
トピックス
イニシャライザ
インスタンスメソッド
バイナリデータの一様で独立した分布から値を返します。
バイナリデータの、一様で独立した分布から値を返します。
必須。デフォルトの実装が提供されます。
func next<T>(upperBound: T) -> T
与えられた上限よりも小さいランダム値を返します。
関連
以下への準拠
以下も見よ
乱数発生ジェネレータ
protocol RandomNumberGenerator
一様に分布する乱数データを提供する型。
    Beta  
このドキュメントには、開発中の API または技術に関する予備情報が含まれています。この情報は変更されることがあり、このドキュメントに従って実装されたソフトウェアは、最終的なオペレーティングシステムソフトウェアでテストする必要があります。