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