dafny - dafny 函数可以以与方法相同的方式返回两个东西吗?
问题描述
Although methods can return a pair consisting of two things (e.g. nats). Using a function I can only find how to return a single thing even if that is a pair (of nats). This prevents me from using a single function to define a lexical decreases pair.
function twof() : (nat,nat) { (1,2)}
method twom() returns (r: nat, r2: nat) { r,r2 := 5,6;}
method Main() {
var (x,y) := twof();
//var x1,y1 := twof(); // Error
var mx, my := twom();
}
这是 dafny 函数和方法之间的区别还是我错过了什么?
解决方案
正确的。Dafny 中的函数总是只返回一个值(但该值可以是一对)。方法可以有多个返回值。
推荐阅读
- outlook - Postfix Outlook 插件
- c++ - 为什么虚表的虚函数地址和类上的虚函数地址不同?
- tcl - 管理剪贴板 Tcl/Tk
- javascript - 不可变列表的映射仅更新最后一个索引
- react-native - Toggle 播放和暂停音乐 React Native
- java - spotify api 模块无法解析符号
- tensorflow - Colab TPU 不在每个时期结束时计算验证数据?
- excel - 根据excel中行中的最后一个值在行中搜索单元格“地址”
- react-native - 我使用相机后,本机反应中的 WebBrowser 无法恢复会话
- docker - 为用户设置权限