Irgendein Grund dafür, "val capacity: Int" anstelle von "val Int Capacity" in Scala zu haben

8

Ich lese Scala und frage mich ...
Warum

%Vor%

statt

%Vor%

Irgendein Grund, warum diese Wahl getroffen wurde. Wenn nicht, scheint es mir keine gute Wahl zu sein, sich von der Java-Erklärung zu entfernen. Hätte den Übergang von Java zu Scala einfacher gemacht (nicht viel, aber ein bisschen)

    
user855 12.12.2009, 00:49
quelle

6 Antworten

20

Weil Sie die meiste Zeit den Int-Part verlassen können. Scala hat ein viel besseres System der Typinferenz als Java.

    
Wysawyg 12.12.2009, 00:55
quelle
10

Ich glaube, ich habe eine Äußerung von Martin Odersky selbst gelesen, in der stand, dass diese Entscheidung auch getroffen wurde, um die Lesbarkeit zu verbessern. Dies ist sicherlich der Fall, z. vergleiche

%Vor%

mit

%Vor%

Meistens müssen Sie Namen von Referenzen / Mathods schnell (visuell) finden, nicht Typen.

    
Raphael 17.03.2011 12:05
quelle
8

x: T ist die Standardnotation für Typen in Logik und vielen Programmiersprachen. C und seine Nachkommen, mit Java unter ihnen, weicht davon ab. Aber die Typnotation von C ist wirklich schrecklich (versuchen Sie, den Typ für eine mäßig komplizierte Funktion höherer Ordnung wie map aufzuschreiben).

Auch bei dieser Schreibweise ist es einfach, den Typ wegzulassen (wie Wysawyg bereits geschrieben hat) oder einen Typ innerhalb eines Ausdrucks hinzuzufügen.

    
starblue 12.12.2009 12:26
quelle
2

In Programmierung in Scala heißt es, dass der technische Grund für diese Syntax darin besteht, dass die Typinferenz einfacher wird.

    
Fabian Steeg 13.12.2009 15:25
quelle
2

Hier ist ein Beispiel für Wysawygs Aussage:

%Vor%

Aber das geht normalerweise nicht mit einem val .

%Vor%

(Ich habe versucht, dies als Kommentar einzufügen, aber leider keine Formatierung.)

    
Tristan Juricek 13.12.2009 10:33
quelle
0

Ich denke, Daniel dachte an so etwas:

%Vor%

Der Typ kann oft abgeleitet werden.

    
user unknown 17.03.2011 09:04
quelle