ranDOM:uniform_s/2
返回一个随机整数
用法:
uniform_s(N, State0) -> {integer(), State1}
内部实现:
%% uniform_s(N, State) -> {I, NewState}
%% Given an integer N >= 1, uniform(N) returns a random integer
%% between 1 and N.
-spec uniform_s(N, State0) -> {integer(), State1} when
N :: pos_integer(),
State0 :: ran(),
State1 :: ran().
uniform_s(N, State0) when is_integer(N), N >= 1 ->
{F, State1} = uniform_s(State0),
{trunc(F * N) + 1, State1}.
给定一个整数 N(N 是大于等于 1 的正整数)以及一个随机状态 State0, 并返回一个 1 到 N 间的整数和一个新的随机状态 State1.
{MegaSecs, Secs, MicroSecs} = erlang:now(),
State = {MegaSecs, Secs, MicroSecs},
random:uniform_s(5, State).