CALL 명령은 애니메이션 또는 추적의
오퍼레이션 호출을 시작합니다. TestConductor는 이 명령을 사용하여
오퍼레이션을 시작할 수 있습니다.
구문
[Object name]->CALL([operation call]
[, signature (optional)])
인수
operation call
오퍼레이션이
정적인 경우에는 클래스 이름입니다. 그렇지 않으면 호출을 수행하는
오브젝트의 이름입니다. 형식은 다음과 같습니다.
[method name]([list of argument values])
signature
오퍼레이션의 시그니처를 지정합니다.
이 선택적 인수는 오버로드된 함수를 구별하는 데 사용됩니다.
예를 들면,
a->CALL(f(5, "Hello"),f(int,char*))
예제
A[0]->CALL(f(5))
는
A[0] 오브젝트의 f(5)를
호출합니다.
A->CALL(g("Hello, World!"))
는
A 오브젝트의 g(char*)를
호출합니다.
알림
다음 표는
샘플 알림을 나열합니다.
표 1. 샘플 알림| 조치 |
메시지 형식 |
| 애플리케이션이 재개될 때 오퍼레이션이 호출됩니다. |
Message: <CALL command> sent. 예를 들면,
Message:
Utility->CALL(sq(2)) sent.
|
| 오퍼레이션이 리턴되며 리턴값이 있습니다. |
<CALL command> returned <return
value> 예를 들면,
Utility->CALL(sq2)) returned 1.41421.
|
| 일치하는 오퍼레이션이 없습니다. |
Unable to perform <CALL command>,
no matching operation found. 예를 들면,
Unable to perform a->CALL(f()), no matching
operation found.
|
| 둘 이상의 일치하는 오퍼레이션이 있습니다. |
Unable to perform <CALL command>,
more than a single matching operation found. 예를 들어, 다음과 같습니다.
Unable to perform a->CALL(f(5)),
more than a single matching operation found.
이러한 상황은
명령행 인터페이스를 사용하고 시그니처를 지정하지 않는 경우에만 발생할 수
있습니다. 창을 사용하면 창이 항상 시그니처를 입력하기 때문에
이 메시지가 표시되지 않습니다.
|