기본 콘텐츠로 건너뛰기

Call

call 제어 문은 앞에 sub 문으로 정의된 서브루틴을 호출합니다.

구문:  

Call name ( [ paramlist ])

 

인수:  

인수
인수 설명
name 서브루틴의 이름입니다.
paramlist 서브루틴으로 전달할 실제 매개 변수의 쉼표로 구분된 목록입니다. 목록의 각 항목은 필드 이름, 변수 또는 임의의 표현식이 될 수 있습니다.

call 문으로 호출하는 서브루틴은 스크립트 실행 시 초반에 발견되는 sub 문으로 정의되어 있어야 합니다.

매개 변수는 서브루틴으로 복사되며, call 문에 있는 매개 변수가 변수이고 표현식이 아니라면 서브루틴이 종료될 때 다시 역으로 복사됩니다.

제한 사항:  

  • call 문은 제어 문이고 세미콜론 또는 줄 끝 중 하나로 끝나므로 줄 경계를 넘어가지 말아야 합니다.

  • 제어 문(예: if..then) 내에서 Sub..end sub를 사용하여 서브루틴을 정의하면 동일한 제어 문 내에서만 서브루틴을 호출할 수 있습니다.

 

이 예는 폴더 및 하위 폴더의 모든 Qlik 관련 파일을 나열하고 테이블에 파일 정보를 저장합니다. 폴더에 대해 Apps라는 이름의 데이터 연결을 만들었다고 가정합니다.

DoDir 서브루틴은 폴더 'lib://Apps'에 대한 참조를 통해 매개 변수로 호출됩니다. 서브루틴 내에는 재귀 호출 Call DoDir (Dir)이 있으며 이 재귀 호출을 통해 함수가 하위 폴더에서 재귀적으로 파일을 찾을 수 있습니다.

sub DoDir (Root) For Each Ext in 'qvw', 'qvo', 'qvs', 'qvt', 'qvd', 'qvc', 'qvf' For Each File in filelist (Root&'\*.' &Ext) LOAD '$(File)' as Name, FileSize( '$(File)' ) as Size, FileTime( '$(File)' ) as FileTime autogenerate 1; Next File Next Ext For Each Dir in dirlist (Root&'\*' ) Call DoDir (Dir) Next Dir End Sub Call DoDir ('lib://Apps')

이 페이지가 도움이 되었습니까?

이 페이지 또는 해당 콘텐츠에서 오타, 누락된 단계 또는 기술적 오류와 같은 문제를 발견하면 개선 방법을 알려 주십시오!