tuples - 帕斯卡中有类似 Rust 的元组吗?
问题描述
Rust 的元组允许保存多个值的匿名、打包、堆栈分配的数据结构。
例子:
let (a, b) = returns_tuple(); // fn returns_tuple() -> (i32, String);
在(免费)pascal 中,我想我会使用命名的记录类型,但它不会让我解构,所以我需要一个单独的变量。
type
Tuple = packed record
a: integer;
b: string;
end;
var
a: integer;
b: string;
t: tuple;
function returns_tuple (): Tuple;
{ function body ommited }
begin
t := returns_tuple;
a := t.a;
b := t.b;
end.
解决方案
Afaik 在 Delphi 中唯一这样的匿名(未声明)结构是匿名方法的闭包状态,而 Free Pascal 甚至还不支持它。
所以没有支持,我不知道有什么计划。帕斯卡通常很擅长打字。
如果你真的需要替换一些有效的东西,你可以尝试在变体数组之上构建一些东西。如果你只想要它的审美,离开它。
推荐阅读
- node.js - 对象展开字段上的mogoose聚合查找不起作用
- r - 如果列的 colSums 小于 20,则使用所有这些列的总和创建一个新列
- django - 如何在 Django 中的特定类别下显示子类别?
- python-3.x - 无法获得分数的 Entry 对象
- azure - 将 Azure-Data-Explorer 与 Azure-Data-Lake-Gen2 连接
- cordova - Phonegap 和 Cordova 版本
- java - 通过 java 执行 SQL 查询时出现“java.sql.SQLException: Invalid column index”错误
- angular - TypeError:this.service.x 不是函数
- c - 当替换字符串数组中的值时,我在使用“”而不是“”时得到一个数组
- java - Spring验证:类属性VS构造函数参数中验证注解的区别