Aus dem Syntaxdokument :
%Vor%Eine schließende geschweifte Klammer gefolgt von einem Zeilenumbruchzeichen impliziert ein Trennzeichen für Anweisungen, weshalb Sie nach einem if-Anweisungsblock kein Semikolon schreiben müssen.
Das ist in Ordnung und was war los mit Warum ist dieser Perl 6 Feed-Operator eine "falsche Aussage"? .
Wie funktioniert diese Regel jedoch für einen nicht gestimmten else
? Ist das ein Sonderfall?
Oder wie wäre es mit dem Beispiel with-orwith
:
Die Dokumentation, die Sie gefunden haben, war nicht vollständig korrekt. Die Dokumentation wurde aktualisiert und ist nun korrekt . Es liest jetzt:
Vollständige Anweisungen, die auf leere Blöcke enden, können das abschließende Semikolon weglassen, wenn auf die schließende geschweifte Klammer des Blocks keine zusätzlichen Anweisungen in derselben Zeile folgen}.
...
Für eine Reihe von Blöcken, die Teil des gleichen if / elsif / else (oder ähnlichen) Konstrukts sind, gilt die implizite Trennregel nur am Ende des letzten Blocks dieser Reihe.
Ursprüngliche Antwort:
Schauen Sie sich die Grammatik für if
in nqp
und Rakudo , es scheint, dass ein if/elsif/else
Satz von Blöcken zusammen als eine Kontrollanweisung analysiert wird.
if
in nqp
( Ссылка , Stand 5. August 2017)
if
in Rakudo ( Ссылка Stand: 5. August 2017) < p>
Tags und Links perl6