Elixir - Mehrere Ausdrücke in derselben Zeile - Compiler-Fehler bei der Verwendung von do: Syntax in der Funktionsdefinition

8

In Elixir können mehrere Ausdrücke durch Semikolon ( ; ) getrennt werden.

Elixier beschwert sich in der unteren Funktionsdefinition

%Vor%

mit Fehler

%Vor%

Allerdings ist Elixir mit der folgenden Syntax zufrieden.

%Vor%

Ich bin nicht sicher, warum man über den anderen arbeitet - so weit ich verstehe, sind beide Stile der Funktionsdefinition äquivalent.

Kompletter Code unten als Referenz

%Vor%     
Wand Maker 01.08.2015, 16:53
quelle

1 Antwort

10

Wenn Sie dies wirklich tun müssen, müssen Sie Klammern verwenden:

%Vor%

Das Problem mit dem Original ist der Vorrang von ; vs Funktion / Makroaufrufen, wegen denen es wie folgt analysiert wird:

%Vor%

Sie können überprüfen, dass dies genau den gleichen Fehler ergibt, den Sie erwähnen - der Compiler klagt natürlich, weil Sie versuchen, c außerhalb des Kontexts der Funktion zu verwenden.

    
Paweł Obrok 01.08.2015, 17:42
quelle

Tags und Links