Ist Perl 6 sonst noch ein Sonderfall für die Anweisungstrennung?

8

Aus dem Syntaxdokument :

  

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.

%Vor%

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?

%Vor%

Oder wie wäre es mit dem Beispiel with-orwith :

%Vor%     
brian d foy 05.08.2017, 09:44
quelle

1 Antwort

4

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.

Regel für if in nqp

%Vor%

( Ссылка , Stand 5. August 2017)

Regel für if in Rakudo

%Vor%

( Ссылка Stand: 5. August 2017)     

Christopher Bottoms 05.08.2017, 20:28
quelle

Tags und Links