是否有任何语言可以声明global断言-即在整个程序执行过程中应该保持的断言。这样就可以编写类似这样的代码:
global assert (-10 < speed < 10);每次speed更改状态时,都会检查此断言吗?
发布于 2011-04-09 19:08:57
我不知道有哪种语言能真正做到这一点,我怀疑是否存在这样的语言,因为它是很难实现的东西,同时也不是很多人需要的东西。
通常,更好的方法是简单地断言输入是有效的,并且只有在允许的情况下才会以定义合理的方式进行修改。这就结束了对“全局断言”的需求。
你可以通过几种方式“通过后门”获得这种效果,尽管没有一种是真正优雅的,有两种是相当依赖于系统的:
发布于 2011-04-09 19:08:40
eiffel支持所有不同的合同:前置条件,后置条件,不变...你可能会想要用它。
另一方面,为什么会有一个全局变量呢?为什么不创建一个修改速度的类。这样做,您就可以在每次值发生更改时轻松地检查您的条件。
https://stackoverflow.com/questions/5604521
复制相似问题