每次我想要随机种子,首先我得到"未定义",然后我想要什么.
1>random:seed(erlang:now()). undefined
怎么了?
另一个证明:1
因为random
模块使用BIF 将种子值存储在进程字典中put
.put
返回与键关联的当前值(random
模块使用"random_seed"),因此第一次调用seed
时没有与键"random_seed"关联的值,因此它返回undefined
,并且在后续调用中,它返回当前值,因此值你得到了.
例:
1> put(foo, "bar"). undefined 2> put(foo, "baz"). "bar"