问题描述
Rust的元组允许匿名的,打包的,堆栈分配的数据结构,其中包含多个值。
示例:
let (a,b) = returns_tuple(); // fn returns_tuple() -> (i32,String);
在(免费)帕斯卡中,我想我会使用命名记录类型来执行此操作,但是它不会让我分解,所以我需要一个单独的变量。
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甚至还不支持这种结构。
因此没有支持,我不知道有任何计划。 Pascal通常擅长打字。
如果您确实需要替换某些可用的东西,则可以尝试在变体数组的顶部构建一些东西。如果您只是出于审美目的而想要它,请保留它。