기능 문
이름, 기능 프로세스의 매개 변수 및 본문을 형성하는 코드를 선언하십시오.
[public [default] | private] functionName [(
Arglist
))]]
[진술]
[이름 = 표현]
[Exitfunction]
[진술]
[이름 = 표현]
엔드 기능 매개 변수
공공의
모든 스크립트의 다른 모든 절차에서 기능 프로세스에 액세스 할 수 있음을 나타냅니다.
기본
클래스 블록의 공개 키워드와 함께 사용하여 기능 절차가 클래스의 기본 메소드임을 나타냅니다. 클래스에 둘 이상의 기본 절차가 지정되면 오류가 발생합니다.
사적인
함수 절차는 스크립트의 다른 절차에 의해서만 액세스 할 수 있음을 나타냅니다. 또는 기능이 데이터 클래스 인 경우 클래스의 다른 절차에서만 기능 절차에 액세스 할 수 있습니다.
이름
함수의 이름은 표준 변수 명명 규칙을 따릅니다.
Arglist
호출시 기능 절차에 전달 될 매개 변수를 나타내는 변수 목록. 쉼표로 여러 변수를 분리하십시오.
진술
기능 절차의 본문에서 실행 된 모든 진술 그룹.
표현
함수의 반환 값.
Arglist 매개 변수에는 다음 구문과 부품이 포함됩니다.
[byval | byref] varname [()]
매개 변수
Byval
매개 변수가 값으로 전달됨을 나타냅니다.
BYREF
매개 변수가 참조로 전달됨을 나타냅니다.
varname
매개 변수 변수의 이름을 나타냅니다. 표준 변수 명명 규칙을 따릅니다.
설명
공개 또는 개인이 명시 적으로 지정되지 않은 경우, 기능 절차는 기본적으로 공개됩니다. 즉, 스크립트의 다른 모든 절차가 표시됩니다. 함수의 로컬 변수의 값은 절차에 대한 호출에 보존되지 않습니다.
다른 절차 (예 : 하위 또는 속성)에서는 기능 절차를 정의 할 수 없습니다.
ExitFunction 문을 사용하여 기능 프로세스에서 즉시 종료하십시오. 이 프로그램은 함수 절차를 호출 한 명세서 후에 명세서를 계속 실행합니다. 모든 Exitfunction 문은 함수 절차의 어느 곳에서나 나타날 수 있습니다.
하위 프로세스와 유사하게 함수 프로세스는 매개 변수를 얻고 일련의 문을 실행하며 매개 변수 값을 변경할 수있는 독립적 인 프로세스입니다. 하위 절차와의 차이점은 함수에 의해 반환 된 값을 사용하려면 SQR, COS 또는 CHR과 같이 사용 된 내부 기능과 동일한 표현식 오른쪽의 함수 절차를 사용할 수 있다는 것입니다.
표현식에서 함수 이름을 사용한 다음 해당 매개 변수 목록을 괄호로 제공하여 기능 절차를 호출 할 수 있습니다. 함수 절차 호출에 대한 자세한 내용은 통화 문을 참조하십시오.
경고 기능 절차는 재귀적일 수 있습니다. 즉, 절차는 주어진 작업을 완료하기 위해 스스로 호출 할 수 있습니다. 그러나 재귀는 스택 오버플로를 유발할 수 있습니다.