PascalABC.NET

Переменное число параметров

Для указания того, что подпрограмма должна иметь переменное число параметров, используется ключевое слово params, за которым следует описание динамического массива. Например:

function Sum(params a: array of integer): integer; begin
  Result := 0;
  for
i: integer := 0 to a.Length do
    Inc(Result,a[i]);
end;

При вызове подпрограммы на месте формального параметра params может быть любое ненулевое количество фактических параметров совместимого типа, перечисляемых через запятую:

var s: integer := Sum(1,2,3,4,5);
s := s + Sum(6,7);

В списке параметров ключевое слово params может указываться только для последнего параметра, причем, этот параметр не должен быть параметром по умолчанию. Параметры params всегда передаются только по значению.