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).