阿达:播种随机

Squ*_*361 2 random ada

如何使用离散值为Ada.Numerics.Discrete_Random播种?我看到代码如下:

declare
   type Rand_Range is range 25..75;
   package Rand_Int is new Ada.Numerics.Discrete_Random(Rand_Range);
   seed : Rand_Int.Generator;
   Num : Rand_Range;
begin
   Rand_Int.Reset(seed);
   Num := Rand_Int.Random(seed);
   Put_Line(Rand_Range'Image(Num));
end;
Run Code Online (Sandbox Code Playgroud)

其中"Rand_Int"以"种子"值播种,但我找不到任何关于实际设置种子值的指令.或者我完全看错了吗?我想将种子值设置为我可以控制以观察测试结果的数字(如4或5).

谢谢!

Gen*_*ene 6

传递第二个Integer参数Reset.在这里initiator.

Rand_Int.Reset(seed, initiator);
Run Code Online (Sandbox Code Playgroud)

Ada是为数不多的几种语言之一,提供完整,详细的参考手册和理由,免费提供.用它!此外,这是更新的Ada版本的标准.

另一个注意事项:seed代码中的变量名称是一个糟糕的选择.选择喜欢stategenerator会更好.

注意:Ada在许多方面都是一种非常好的语言.人们抱怨非常强大,详细的类型系统.然后,当系统完成并且它首先运行时尝试几个错误,他们神秘地忘记将其归因于Ada.重要的缺点是库的可用性和IDE的成熟度.