Random
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
Random データタイプは、偽ランダム数と方向を生成します。
概要
方法
返すpsudorandom整数は、[min, max] に均等に分布しています。
返すpsudorandomnumberは、[0, 1] に均等に分布しています。
返すpsudorandomnumberは、[min, max] に均等に分布しています。
テーブルを場所を変えて一致させます。
偽ランダム方向のユニットベクトルを返します。
オリジナルと同じ状態の新しいランダムオブジェクトを返します。
コンストラクタ
new
新しい Random オブジェクトを返します。シードパラメータを提供しない場合、Random は内部のエントロピーソースからシードを使用します。
シードを提供する場合、範囲 [-9007199254740991, 9007199254740991] 内にある必要があり、Random はそれを最も近い整数に丸めます。それゆえ、0、0.99、そして math.random() の種はすべて同じ生成者を生成します。種を生成して後で回収する必要がある場合は、math.random(max) を使用します。
パラメータ
コードサンプル
Generates a pseudorandom seed and uses it to create a new Random generator.
local max = 2147483647 -- use a large integer
local seed = math.random(max)
local generator = Random.new(seed)
方法
Shuffle
Uniformly は、tb を使用して、配列のパーツを場所を変更して順次にシャッフルします。インデックスを選択するには、NextInteger を使用します。テーブルの配列部分に nil "穴" がある場合、Shuffle はシャッフルによって長さが変更される可能性があるため、エラーをスローします。
tb のハッシュ部分は無視されます。tb のメタメソッドは呼び出されません。
シャッフルは Fisher-Yates シャッフルと定義されているため、NextInteger 呼び出しの数が特定のサイズのテーブルのエンジンバージョン間で一貫していることが保証されます。