std:random リファレンス
@import 'std:random' で取得する擬似乱数モジュール。entropy 由来 (new) またはシード指定 (seed) の乱数生成器 Generator を提供する。
new
new()
new: { Generator }
entropy 由来で初期化した非決定なジェネレータを返す。
seed
seed(n)
seed: { Int | Generator }
Int n で初期化した再現可能なジェネレータを返す。
>>> random.seed(42).int(1, 100) 34
Generator メソッド
bool
g.bool() bool: { Bool }
true / false を等確率 (各 1/2) で返す。
>>> random.seed(1).bool() false
float
g.float() float: { Float }
半開区間 [0.0, 1.0) の Float を一様に返す。
>>> random.seed(42).float() 0.7901853195773185
float_range
g.float_range(lo, hi) float_range: { Float, Float | Float }
半開区間 [lo, hi) (hi を含まない) の Float を一様に返す。
>>> random.seed(42).float_range(-1.0, 1.0) 0.580370639154637
int
g.int(lo, hi) int: { Int, Int | Int }
閉区間 [lo, hi] (両端含む) の Int を一様に返す。
>>> random.seed(42).int(1, 6) 3
pick
g.pick(xs) pick: { List(Any) | Option(Any) }
List から一要素を一様に選び Option で返す (空 List は None)。
>>> random.seed(7).pick([10, 20, 30]) Some(20)
shuffle
g.shuffle(xs) shuffle: { List(Any) | List(Any) }
List をシャッフルした新しい List を返す (元の List は不変)。
>>> random.seed(0).shuffle([1, 2, 3, 4, 5]) [1, 2, 5, 4, 3]