random - Ada:随机播种

标签 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;

用“种子”值播种“Rand_Int”,但我找不到任何关于实际设置种子值的说明。还是我完全看错了?我想将种子值设置为我可以控制的数字(如 4 或 5)以观察测试结果。

谢谢!

最佳答案

将第二个 Integer 参数传递给 Reset。这里是 initiator

Rand_Int.Reset(seed, initiator);

Ada 是拥有 complete, detailed reference manual and rationale available free of charge 的少数语言之一.用它!此外,here is the more recent Ada version's standard .

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

注意:Ada 在许多方面确实是一门非常好的语言。人们提示非常强大、详细的类型系统。然后当系统完成并首次运行时尝试了一些错误,他们神秘地忘记将其归因于 Ada。显着的缺点是库的可用性和 IDE 的成熟度。

关于random - Ada:随机播种,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21245051/

相关文章:

C++ cstdlib rand 教程错误

case - Ada Case Statement 在 C 中表现得像什么?

javascript - 数组中带有权重的随机数

arrays - 生成包含范围内的唯一随机数数组

javascript - 如何访问数组中随机对象的属性?

java - 这里有人知道获取进程列表的好跨平台方法吗?

artificial-intelligence - Ada 中的 AI 库框架

ada - 如何指定 GNATTest 应自动生成测试用例的函数或过程

ada - 如何让 gnattest 只考虑我的 src 目录中的代码?

security - 如何让 Golang seed init 更强大