0

就像标题说的那样,我想调用一个方法来修改另一个方法的 if 语句中的一些变量,例如:

method A
...
{
    ... // Modifies some variables
}

method B
...
{
    ...
    if(statement){
        A();
    }
    ...
}

这不起作用,因为 Dafny 不允许以这种方式调用非幽灵方法。这个问题的解决方法是什么?

4

1 回答 1

1

想通了,可以将其转换为临时 bool 变量,然后在表达式中使用 bool 变量:

    ...
var boolean:bool;
boolean := expression();
is(boolean){
    ...
}
    ...
于 2015-12-01T12:09:56.673 回答