Dafny - 在 if 语句中调用方法?
Dafny - Call methods inside if statements?
正如标题所说,我想调用一个方法来修改另一个方法的 if 语句中的一些变量,例如:
method A
...
{
... // Modifies some variables
}
method B
...
{
...
if(statement){
A();
}
...
}
这不起作用,因为 Dafny 不允许以这种方式调用非 ghost 方法。此问题的解决方法是什么?
想通了,可以将其转换为临时 bool 变量,然后在表达式中使用 bool 变量:
...
var boolean:bool;
boolean := expression();
is(boolean){
...
}
...
正如标题所说,我想调用一个方法来修改另一个方法的 if 语句中的一些变量,例如:
method A
...
{
... // Modifies some variables
}
method B
...
{
...
if(statement){
A();
}
...
}
这不起作用,因为 Dafny 不允许以这种方式调用非 ghost 方法。此问题的解决方法是什么?
想通了,可以将其转换为临时 bool 变量,然后在表达式中使用 bool 变量:
...
var boolean:bool;
boolean := expression();
is(boolean){
...
}
...