Datenanforderungen
Die Datenanforderungen werden verwendet, um die Dateneingabe von Verarbeitungs- und Ausgabemodulen zu validieren. Die Anforderungen definieren, welche Felder und Tags das Datenobjekt enthalten oder nicht enthalten muss. Eine Anforderung besteht aus einzelnen Ausdrücken, die in ( und ) eingebettet sind und durch ein and verknüpft werden. Ein or-Verhalten wird erreicht, indem eine neue Anforderung zur Anforderungsliste hinzugefügt wird. Ausdrücke sind case-sensitiv!
Hinweis: Wenn es keine Anforderung gibt, belasse eine leere Liste ([]).
Beispiel
["((key * with ints/floats) and (keys == 1))",
"(key * with int/float)"]
Das bedeutet, dass entweder jeder Schlüssel (*) eine Liste von Ganzzahlen oder Gleitkommazahlen enthalten muss und nur ein einzelner Schlüssel erlaubt ist ((keys == 1)), oder es dürfen beliebig viele Schlüssel vorhanden sein, aber jeder Wert muss eine Ganzzahl oder Gleitkommazahl sein. Dies würde zu den folgenden zwei akzeptablen Datenobjekten führen:
{
"test": [
1,
3,
2
]
}
oder
{
"test1": 1,
"test2": 2,
"test3": 3
}
Schlüsselwörter
| key |
Erforderlicher Schlüssel gefolgt vom benutzerspezifischen Wert. Kann mit with kombiniert werden (z. B. (key test with int)). Schlüssel können auch mit ! invertiert werden (z. B. jeder Schlüssel außer (key !test with int)). Es ist ebenfalls möglich, alle Schlüssel mit * zu akzeptieren (z. B. jeder Schlüssel (key * with int)). Hinweis: Es sind nur Schlüssel ohne Leerzeichen erlaubt!
|
| keys |
Anzahl der Elemente im Datenobjekt, gefolgt von einem Operator (==, !=, >=, <=, <, >) und einer Ganzzahl (z. B. (keys == 2)).
|
| length |
Überprüfen Sie die Länge von Listen (z. B. length test1 == 1, length * equal, length !event == 1 oder length test1 == test2). Die folgenden Operatoren sind erlaubt: ==, !=, >=, <=, <, >. Hinweis: Es sind nur Schlüssel ohne Leerzeichen erlaubt!
|
| value |
Überprüfen Sie den Wert eines Schlüssels (z. B. value event == "init", wobei event der Schlüssel ist). Hinweis: Es sind nur Schlüssel ohne Leerzeichen erlaubt. Die folgenden Operatoren sind erlaubt: ==, !=, >=, <=, <, >. Falls der Vergleichswert ein Float, Integer oder Boolean sein kann, aber als String behandelt werden soll, verwenden Sie "", um ihn einzuschließen: z. B. (value string == "3"), wobei string "3" ist – ergibt True, während (value string == 3), wobei string "3" ist – ergibt False.
|
| and | Verbinden von Ausdrücken mit einem and. |
| or | Verbinden von Ausdrücken mit einem or. |
| with | Definition von Datentypen von Schlüsselwerten oder Datentypen von Listen (z.B. (key * with ints)). |
| () | Ausdrücke kapseln. |
Datentypen
| int | Eine Ganzzahl. |
| float | Eine Fließkommazahl |
| number | Eine Fließkomma- oder Ganzzahl. |
| str | Ein String. |
| bool | Ein Boolean. |
| list | Eine Liste mit Elementen von undefiniertem Typ. |
| ints | Eine Liste von Ganzzahlen. |
| floats | Eine Liste von Fließkommazahlen. |
| numbers | Eine Liste von Fließkommazahlen oder Ganzzahlen. |
| strs | Eine Liste von Strings. |
| bools | Eine Liste von Booleans. |
int/ints bedeutet int oder ints (z. B. key * with int/ints). Hinweis: Listen mit mehreren Datentypen werden derzeit nicht unterstützt (außer numbers).
Creating Modules
Introduction