Julia: warum müssen parametrische Typen äußere Konstruktoren haben?

8

Folgendes funktioniert:

%Vor%

Das tut nicht:

%Vor%

Damit der zweite Fall funktioniert, muss der Konstruktor außerhalb der Typdeklaration deklariert werden. Dies ist leicht unerwünscht. Meine Frage ist, warum dieses Problem von einem Julia-Design-Standpunkt existiert, so dass ich besser über das Julia-Typ-System nachdenken kann.

Danke.

    
Mageek 04.09.2014, 16:28
quelle

1 Antwort

8

Das funktioniert:

%Vor%

was ich durch Lesen des Handbuchs herausgefunden habe , aber ich muss zugeben, dass ich es nicht wirklich weiß verstehe innere Konstruktoren so gut, besonders für parametrische Typen. Ich denke, weil Sie tatsächlich eine Familie von Typen definieren, ist der innere Konstruktor nur für jeden einzelnen Typ sinnvoll - daher müssen Sie {Int} angeben, um den gewünschten Typ zu bestimmen. Sie können einen äußeren Konstruktor hinzufügen, um es einfacher zu machen, d. H.

%Vor%

Ich denke, es wäre gut, es auf der Julia-Issues-Seite aufzurufen, weil ich glaube, dass dieser äußere Helper-Konstruktor standardmäßig zur Verfügung gestellt werden könnte.

BEARBEITEN: Dieses Problem Julia weist auf die Probleme bei der Bereitstellung eines äußeren Konstruktors hin.

    
IainDunning 04.09.2014, 17:26
quelle

Tags und Links