一、pre_randomize()和post_randomize()函数
二、系统随机函数
三、随机化个别变量
下面这道题可以帮助我们理解使用使用randomize()来随机化个别变量。
上述题目的意思是,如果只是调用了r.randomize(low),那么应该选择哪个选项?答案是C。为什么呢?
因为med和hi变量使用了rand修饰符修饰,这两个变量定义为随机变量,但是low并没有被定义为rand变量。在程序开始的时候,med和hi变量会直接被赋值为0,因此在定义了句柄r和创建了Rising对象之后直接对low进行随机化的化会报错,因为men=hi=0不符合约束,约束指明了men应该是<hi的,因此直接调用r.randomize(low)会报错。所以一般在随机化个别变量前,应当使用类似于r.randomize();这样的语句对所有变量进行随机化来保证约束块不会起冲突。