func next() -> UInt64
func next<T>(upperBound : T) -> T
Availability
Technology
protocol RandomNumberGenerator
When you call methods that use random data, such as creating new random values or shuffling a collection, you can pass a Random
type to be used as the source for randomness. When you don’t pass a generator, the default System
type is used.
あなたが無作為データを使うメソッドを呼び出す場合、例えば新しい無作為値を作成するまたはコレクションをシャッフルするなど、あなたはRandom
型を渡して、無作為さの出典として使われるようにできます。あなたが生成子を渡さない場合、省略時のSystem
型が使用されます。
When providing new APIs that use randomness, provide a version that accepts a generator conforming to the Random
protocol as well as a version that uses the default system generator. For example, this Weekday
enumeration provides static methods that return a random day of the week:
無作為さを使う新しいAPIを提供する場合、Random
プロトコルに準拠する生成子を受け取るバージョンを、それだけでなく省略時のシステム生成子を使うバージョンも提供してください。例えば、このWeekday
列挙は、無作為な曜日を返す静的メソッドを提供します:
A custom Random
type can have different characteristics than the default System
type. For example, a seedable generator can be used to generate a repeatable sequence of random values for testing purposes.
あつらえのRandom
型は、省略時のSystem
型とは異なる特徴を持つことができます。例えば、シード可能生成子は、繰り返し可能な一連の無作為値を、テスト目的で生成するために使用できます。
To make a custom type conform to the Random
protocol, implement the required next()
method. Each call to next()
must produce a uniform and independent random value.
あなたのあつらえのクラスをRandom
プロトコルに準拠させるには、必須next()
メソッドを実装してください。next()
への各呼び出しは、一様で独立した無作為値を生成しなければなりません。
Types that conform to Random
should specifically document the thread safety and quality of the generator.
Random
に準拠する型は、とりわけ生成子のスレッド安全と品質を文書化すべきです。
func next() -> UInt64
func next<T>(upperBound : T) -> T
struct SystemRandomNumberGenerator