Exit
Funkcji Exit należy użyć do zatrzymania funkcji w dowolnym miejscu strategii lub do wyjścia ze strategii.
Funkcja Exit działa w różny sposób w językach IPL i JavaScript. W języku IPL wywołanie funkcji
Exit w funkcji zdefiniowanej przez użytkownika kończy działanie funkcji wywołującej, a strategia jest kontynuowana.
W języku
JavaScript wywołanie funkcji Exit w funkcji zdefiniowanej przez użytkownika powoduje zakończenie działania całej strategii. Aby
zatrzymać funkcję w strategii JavaScript, należy użyć w tej strategii komendy return.
Składnia
Funkcja Exit ma następującą składnię:
Exit()
Przykłady
W tym przykładzie testowana jest wartość zmiennej
X. Jeśli wartość X jest większa od 10, strategia zostaje zakończona. Jeśli wartość X jest mniejsza od 10, w dzienniku strategii zostaje umieszczony komunikat. Następujący przykład jest poprawny dla obu języków: IPL
i JavaScript.
function testX() {
X = 15;
if (X > 10) {
Log("Wyjście z instrukcji if");
Exit();
} else {
Log("X jest mniejsze niż 10.");
}
}
testX();
Log("Koniec strategii");;Wyjście z instrukcji if
Koniec strategiiWyjście z instrukcji ifW przykładzie przedstawiono użycie funkcji Exit w języku IPL:
Log("Wejście do strategii funkcji TestExit...");
SetGlobalVar("exitFunction","false");
SetGlobalVar("exitPolicy","false");
function testExit(test){
SetGlobalVar("exitPolicy",test);
if (test = true){
Log("Wyjście z funkcji TestExit...");
Exit();
}else{
Log("Pozostanie w strategii TestExit...");
}
}
// Przekazanie wartości true spowoduje wyjście z funkcji testExit i wyjście
// ze strategii przy drugim wywołaniu funkcji Exit (poniżej).
// Przekazanie wartości false umożliwi doprowadzenie do końca funkcji
// i strategii.
testExit(false);
if(""+(GetGlobalVar("exitPolicy")) = "true"){
log("Wyjście ze strategii...");
Exit();
}
Log("Ten komunikat oznacza, że strategia jest kontynuowana do końca...");W przykładzie przedstawiono użycie funkcji Exit i return w języku JavaScript:
Log("Wejście do strategii funkcji TestExit...");
SetGlobalVar("exitFunction","false");
SetGlobalVar("exitPolicy","false");
function testExit(test){
SetGlobalVar("exitPolicy",test);
if (test == true){
Log("Wyjście z funkcji TestExit ORAZ strategii...");
Exit();
}else{
Log("Pozostanie w strategii TestExit...");
return;
Log("Ta instrukcja log nie zostanie użyta, ponieważ już nastąpił powrót");
}
}
// Przekazanie wartości true spowoduje natychmiastowe wyjście z funkcji
// testExit ORAZ strategii.
// Przekazanie wartości false umożliwi doprowadzenie do końca funkcji
// i strategii.
testExit(true);
Log("Ten komunikat oznacza, że strategia jest kontynuowana do końca...");