我有 10 个双变量,我想用值 0 进行初始化。它们是非结构化的,不是设计的数组的一部分。
procedure Initialize;
var
a1, a2, a3, a4, a5, b1, b2, b3, b4, b5: Double;
begin
a1 := 0;
a2 := 0;
a3 := 0;
a4 := 0;
a5 := 0;
b1 := 0;
b2 := 0;
b3 := 0;
b4 := 0;
b5 := 0;
end;
为了重构那段代码,我引入了一个辅助方法AssignValue。
procedure Initialize;
var
a1, a2, a3, a4, a5, b1, b2, b3, b4, b5: Double;
begin
AssignValue(0,a1);
AssignValue(0,a2);
...
end;
procedure AssignValue(value: Double; var target: Double);
begin
target:= value;
end;
如何编写一个更通用的AssignValue
过程,它接受任意数量的参数并使调用成为AssignValue(0,a1,a2,a3,a4,a5,b1,b2,b3,b4,b5)
可能?
额外的问题:假设作为第一个参数,您如何编写该程序以使其以任何顺序考虑double
或int
引用。value: Int