Расширения со знаком доллара с использованием параметров

В расширениях со знаком доллара могут использоваться параметры. В этом случае переменная должна содержать такие формальные параметры, как $1, $2, $3 и т. д. При расширении переменной параметры должны указываться в списке, разделенном запятой.

Пример:  

Set MUL=’$1*$2’;

Set X=$(MUL(3,7)); // возвращает '3*7' в элементе X

Let X=$(MUL(3,7)); // возвращает 21 в элементе X

Если число формальных параметров превышает число действительных параметров, будут расширены только те формальные параметры, которые соответствуют действительным параметрам. Если число действительных параметров превышает число формальных параметров, излишние действительные параметры будут проигнорированы.

Пример:  

Set MUL=’$1*$2’;

Set X=$(MUL); // возвращает '$1*$2' в элементе X

Set X=$(MUL(10)); // возвращает '10*$2' в элементе X

Let X=$(MUL(5,7,8)); // возвращает 35 в элементе X

Параметр $0 возвращает число параметров, фактически переданных с помощью вызова.

Пример:  

set MUL='$1*$2 $0 par'; 

set X=$(MUL(3,7)); // возвращает '3*7 2 par' в элементе X