返回介绍

12.10.1 内联约束检查器

发布于 2020-09-09 22:55:50 字数 456 浏览 1132 评论 0 收藏 0

通常,调用一个没有随机变量的类的randomize方法会导致这个方法作为一个检查器使用,也就是说它不会赋随机值,而是仅仅返回一个状态:如果所有的约束都被满足返回1,否则返回0。内联随机变量控制机制还可以用来强制randomize()方法作为一个检查器使用。

randomize方法可以接受特殊的参数null,它用来指示在调用期内没有随机变量。也就是说,所有的类成员均作为状态变量使用。这会导致randomize方法作为一个检查器使用而不是作为一个产生器使用。一个检查器会计算所有的约束并简单地在所有的约束都被满足时返回1,否则返回0。例如,如果上面定义的类CA执行了下列的调用:

success = a.randomize(null);  // 没有随机变量

那么,求解器将所有的变量作为状态变量使用,并仅仅检查约束是否满足,也就是检查当使用x、y、v和w的当前值的时候(x < v && y > w)的关系是否为真。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文