In diesem Dokument erfahren Sie, wie Sie Verbindungsüberprüfungen verwenden.
Beispielwerte
Wenn Sie Verbindungsüberprüfungen für Eingaben und Ausgaben definieren, sollten Sie die Prüfungen in der Regel als Typen betrachten.
Die Prüfungen für Eingaben sollten alle zulässigen „Typen“ enthalten und die Prüfungen für Ausgaben sollten genau das enthalten, was „zurückgegeben“ wird.
Einen einzelnen Typ akzeptieren
Im einfachsten Fall, wenn Sie einen Block erstellen möchten, der einen bestimmten Typ „annimmt“ oder „zurückgibt“, müssen Sie diesen Typ in die Verbindungsprüfung der Verbindung aufnehmen.
Mehrere Typen akzeptieren
Wenn Sie einen Block erstellen möchten, der mehrere Typen „zulässt“, müssen Sie alle akzeptierten Typen in die Verbindungsprüfung der Eingabe aufnehmen.
Wenn eine Ausgabe manchmal in mehreren Situationen akzeptiert werden kann (z.B. wenn Zahlen manchmal als Strings verwendet werden dürfen), sollte die Ausgabe strenger und die Eingaben weniger restriktiv sein. So wird sichergestellt, dass keine Verbindungen zu nicht unterstützten Ausgabegeräten hergestellt werden.
Alle Typen akzeptieren
Wenn Sie einen Block erstellen möchten, der jeden Typ „zulässt“, müssen Sie die Verbindungsüberprüfung der Eingabe auf null
festlegen.
Untertypen der Rückgabe
Wenn Sie einen Block erstellen möchten, der einen Untertyp „zurückgibt“, müssen Sie sowohl den Typ als auch den Supertyp in die Verbindungsprüfung der Ausgabe aufnehmen.
Bei Untertypen ist es in Ordnung, mehrere Prüfungen in einer Ausgabeprüfung vorzunehmen, da der Block immer beide Typen „zurückgibt“.
Parametrisierte Typen zurückgeben
Wenn Sie einen Block erstellen möchten, der einen parametrisierten Typ „zurückgibt“, müssen Sie sowohl die parametrisierte als auch die nicht parametrisierte Version in die Verbindungsüberprüfung der Ausgabe einbeziehen.
Je nachdem, wie streng die Blockierung sein soll, können Sie auch die Varianten des Typs angeben.
Ähnlich wie bei Untertypen ist es in diesem Fall zulässig, mehrere Prüfungen in einer Ausgabeprüfung vorzunehmen, da der Block immer beide Typen „zurückgibt“.
Beispiele für Stacks oder Anweisungen
Es gibt einige gängige Möglichkeiten, wie Entwickler Prüfungen für vorherige und nächste Verbindungen definieren. Normalerweise werden sie verwendet, um die Blockreihenfolge einzuschränken.
Die nächsten Verbindungen sollten angeben, welche Blöcke auf den aktuellen Block folgen sollen, und die vorherigen Verbindungen sollten angeben, was der aktuelle Block ist.
Blöcke in der richtigen Reihenfolge halten
Wenn Sie mehrere Blöcke erstellen möchten, die in einer bestimmten Reihenfolge verbunden werden, müssen Sie angeben, welche Blöcke in der nächsten Verbindungsüberprüfung dem aktuellen Block folgen sollen und was der aktuelle Block in der vorherigen Verbindungsüberprüfung ist.
Viele Mittelblöcke zulassen
Wenn Sie eine Reihe von sortierten Blöcken erstellen möchten, die viele Mittelblöcke zulassen, müssen Sie in der nächsten Verbindungsüberprüfung des Mittelblocks mindestens einen Eintrag aus der vorherigen Verbindungsüberprüfung des Mittelblocks angeben. So kann der Block von mehreren Elementen desselben Blocks gefolgt werden.
Keine mittleren Blöcke zulassen
Wenn Sie eine Reihe von angeordneten Blöcken erstellen möchten, bei denen die mittleren Blöcke optional sind, müssen Sie in der nächsten Verbindungsüberprüfung des ersten Blocks mindestens einen Eintrag aus der vorherigen Verbindungsüberprüfung des mittleren Blocks und der vorherigen Verbindungsüberprüfung des letzten Blocks angeben. So kann auf den ersten Block entweder ein Mittelblock oder ein Endblock folgen.
Entweder-oder-Stapel
Wenn Sie einen Block erstellen möchten, der nur von Blöcken aus einer Gruppe oder von Blöcken aus einer anderen Gruppe (und nicht von beiden) gefolgt werden kann, müssen Sie zwei Dinge tun:
Sie müssen mindestens einen Eintrag aus den vorherigen Verbindungsüberprüfungen der beiden Gruppen in der nächsten Verbindungsüberprüfung des ersten Blocks aufnehmen.
Sie müssen die nächsten Verbindungsüberprüfungen der Gruppen so definieren, dass sie nur Werte enthalten, die in den vorherigen Verbindungsüberprüfungen enthalten sind. Sie können also nur von Blöcken derselben Gruppe gefolgt werden.