Zmienne zdefiniowane przez użytkownika

Zmienne zdefiniowane przez użytkownika to zmienne, które są definiowane w momencie pisania strategii.

Nie można używać żadnego z zarezerwowanych słów JavaScript ani nazw predefiniowanych obiektów i klas JavaScript jako nazw zmiennych w strategii JavaScript.

W nazwach zmiennych można używać dowolnych kombinacji liter i liczb, o ile pierwszy znak jest literą:

Nie trzeba inicjować zmiennych służących do przechowywania pojedynczych wartości, takich jak łańcuchy czy liczby całkowite. W przypadku zmiennych kontekstowych wywoływana jest funkcja NewObject, która zwraca nowy kontekst. W przypadku zmiennych kontenera zdarzeń wywoływana jest funkcja NewEvent. Nie trzeba inicjować zmiennych składowych w kontekstach i kontenerach zdarzeń.

Poniższy przykład przedstawia sposób tworzenia zmiennych zdefiniowanych przez użytkownika i odwoływania się do nich:

MyInteger = 1;
MyFloat = 123.4;
MyBoolean = True;
MyString = "Hello, World!";
					
MyContext = NewObject();
MyContext.Member = "1";
					
MyEvent = NewEvent("OMNIbusEventReader");
MyEvent.Summary = "Event Summary";
					
Log(MyInteger + ", " + MyEvent.Summary);
					

W przykładzie w tej sekcji tworzony jest zbiór zmiennych i zostają przypisane do nich wartości. Następnie za pomocą funkcji Log użytej na dwa różne sposoby wartości zmiennych zostają zapisane w dzienniku strategii.

Pierwszy sposób użycia funkcji Log to przekazanie każdej wartości w oddzielnym wywołaniu funkcji. Drugą metodą jest jednorazowe zapisanie zmiennych w kontekście strategii za pomocą funkcji CurrentContext. Funkcja CurrentContext zwraca łańcuch, który zawiera nazwy i wartości wszystkich zmiennych obecnie zdefiniowanych w strategii.

VarOne = "Jeden";
VarTwo = 2;
VarThree = 3.0;
VarFour = VarOne + ", " + VarTwo + ", " + VarThree;
					
Log(VarOne);
Log(VarTwo);
Log(VarThree);
Log(VarFour);
					
Log(CurrentContext());

Po uruchomieniu strategii umieści ona w dzienniku strategii następujący komunikat:

Jeden
2
3.0
Jeden, 2, 3.0
Przygotowano z parametrami podanymi przez użytkownika "=(
TypDziałania=1 (Byte),
VarTwo=2 (Long),
NazwaStrategiiRaportów=TestVar (String),
EventContainer=(EventReaderName=DefaultEventReader) (EventContainer),
VarFour=Jeden, 2, 3.0 (String),
NazwaStrategii=TestVar (String),
ActionNodeName=TestVar (String),
VarOne=Jeden (String),
VarThree=3.0 (Double))

W tym przykładzie nazwą strategii jest TestVar. Nie trzeba deklarować zmiennych przed przypisaniem im wartości, tak jak to jest wymagane w językach typu C/C++ i Java. Tablice i zmienne skalarne, takie jak liczby całkowite lub łańcuchy, są tworzone automatycznie przy pierwszym przypisaniu do nich wartości. Konteksty i kontenery zdarzeń należy utworzyć jawnie za pomocą funkcji NewObject i NewEvent, jak opisano dalej w tym podręczniku.

Puste zmienne

Zalecane jest sprawdzanie, czy zmienna ma wartość (nie należy zakładać, że zmienna ma zawsze poprawną wartość). Podczas wykonywania strategii zmienna może nie być zdefiniowana albo mieć wartość null. Aby sprawdzić, czy zmienna w strategii IPL jest pusta, należy dodać sprawdzanie wartości NULL. W języku JavaScript należy sprawdzać wartości null oraz undefined.

Poniżej podano przykład dobrego programowania:

//javascript
if (typeof zmienna === 'undefined' || zmienna === null) {
  zmienna = "";
}

//IPL
if (zmienna == NULL) {
 zmienna = "";
}