Ein großer Vorteil von Blockly besteht darin, dass der generierte Code syntaktisch korrekt ist.
Die Verbindungsprüfung ist das Objekt, das die Blockly-Regeln hinsichtlich der Kompatibilität von Verbindungen erzwingt. Standardmäßig wendet die Prüffunktion ein einfaches Typsystem an, wie auf der Seite Typprüfungen beschrieben.
Die Vorabprüfung
Es werden drei Prüfungsebenen angewendet: Sicherheits-, Tipp- und Drag-and-drop.
Sicherheitschecks
Sicherheitschecks sorgen dafür, dass sich die Blöcke auf demselben Arbeitsbereich befinden, dass sich die Verbindungen in verschiedenen Blöcken befinden usw. Diese sorgen dafür, dass Blockly nicht in einen fehlerhaften Zustand geraten.
Sicherheitschecks blockieren außerdem unsinnige Kombinationen, z. B. das Verbinden zweier nächster Verbindungen.
Typprüfungen
Entwickler können Verbindungen mit Typinformationen kennzeichnen. Typprüfungen verwenden diese Informationen, um ein Typsystem zu erzwingen, z.B. indem die Verbindung eines Strings blockiert wird, wenn eine Zahl erwartet wird.
Vorabprüfung auf Drag-and-drop
Drag-Prüfungen werden nur beim Verbinden von Blöcken durch Ziehen und nicht programmatisch angewendet. Beispielsweise sollten beim Ziehen nur Verbindungen innerhalb eines bestimmten Radius berücksichtigt werden.
Verbindungsprüfung überschreiben
Entwickler, die ihre eigene Logik für Typ- oder Ziehprüfungen bereitstellen möchten, können ein Ersatzobjekt für die Verbindungsprüfung registrieren, das die IConnectionChecker
-Schnittstelle implementiert.
Wenn Sie Ihre eigenen Sicherheitschecks implementieren möchten, überschreiben Sie doSafetyChecks
in Ihrer Verbindungsprüfung.
Wenn Sie eigene Typprüfungen implementieren möchten, überschreiben Sie doTypeChecks
in der Verbindungsprüfung.
Wenn Sie Ihre eigenen Drag-and-drop-Prüfungen implementieren möchten, überschreiben Sie doDragChecks
in Ihrer Verbindungsprüfung.
Beispielcode
Das Plug-in für die strikte Verbindungsprüfung ist ein einfaches Beispiel für eine benutzerdefinierte Prüfung.