매개 변수를 사용한 달러 기호 확장
매개 변수를 달러 기호 확장에 사용할 수 있습니다. 이는 변수의 동적 평가를 가능하게 합니다.
확장에 사용하기 위해 만들어진 변수는 형식 매개 변수를 포함해야 합니다. 형식 매개 변수는 평가 입력을 위한 자리 표시자이며 달러 기호로 작성됩니다. $1, $2, $3. 숫자는 매개 변수 번호를 나타냅니다.
변수를 사용할 때 실제 매개 변수는 쉼표로 구분된 목록에 명시되어야 합니다.
예: 달러 기호 확장의 매개 변수
두 숫자 사이의 곱셈을 정의하려면 다음과 같이 작성할 수 있습니다.
Set MUL= $1*$2 ;
이는 $1과 $2를 서로 곱해야 함을 정의합니다. 사용되는 경우 이 변수는 $1 및 $2에 대한 값을 표현식에 삽입하여 달러 기호로 확장해야 합니다.
Set X= $( MUL(3,7) ) ;
값(3 및 7)은 확장에서 $1 및 $2를 대체하는 실제 매개 변수입니다. 확장은 Set 문이 구문 분석되고 실행되기 전에 이루어지며, 이는 스크립트 파서가 다음을 확인하고 있음을 의미합니다.
Set X= 3*7 ;
결과적으로 X 변수에는 문자열 값 3*7이 할당됩니다.
Set 대신 Let 문을 사용하는 경우:
Let X= $( MUL(3,7) ) ;
파서는 다음을 확인합니다.
Let X= 3*7 ;
여기에서 평가가 이루어지고 X는 숫자 값 21이 할당됩니다.
매개 변수 수
공식 매개 변수의 수가 실제 매개 변수의 수를 초과하는 경우 실제 매개 변수에 대응하는 공식 매개 변수만 확장됩니다. 실제 매개 변수의 수가 공식 매개 변수의 수를 초과하는 경우 여분의 실제 매개 변수는 무시됩니다.
예: 형식 매개 변수 및 실제 매개 변수
Set MUL= '$1*$2' ;
Set X= $(MUL) ; // returns $1*$2 in X
Set X= $(MUL(10)) ; // returns 10*$2 in X
Let X= $(MUL(5,7,8)) ; // returns 35 in X
$0 매개 변수
매개 변수 $0은 호출에서 실제로 전달한 매개 변수의 수를 반환합니다.
예: 오류 처리를 알리는 방법
Set MUL= If($0=2, $1*$2, 'Error') ;