本文へ移動
mie リファレンス
REPL Playground

std:random リファレンス

@import 'std:random' で取得する擬似乱数モジュール。entropy 由来 (new) またはシード指定 (seed) の乱数生成器 Generator を提供する。

new

new()
new: { Generator }

entropy 由来で初期化した非決定なジェネレータを返す。

>>> print (random.new().int(1, 6) >= 1)
true

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]