Erlang中文手册(Erldoc.com)  »  random  »  uniform_s/2
Erlang并发编程 Erlang/OTP设计原理 Erlang/OTP[pdf] Mnesia用户手册[pdf] Erlang完整手册[en] 官网手册[en] 模块列表 方法列表 随机 Erlang中文社区(BBS) 美女图库

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).
阿里云 - 最高1000元通用代金券立即可用
沪ICP备13037221号-9