与标题一样,我想调用一个方法来修改另一个方法的if语句中的一些变量,例如:
method A
...
{
... // Modifies some variables
}
method B
...
{
...
if(statement){
A();
}
...
}
这不起作用,因为Dafny不允许以这种方式调用非ghost方法。这个问题的解决方法是什么?
答案 0 :(得分:1)
想出来,可以将它转换为临时bool变量,然后在表达式中使用bool变量:
...
var boolean:bool;
boolean := expression();
is(boolean){
...
}
...