Ich lernte letzten Sommer groovy und entdeckte die Syntax für Konstruktoren, die Sie den Parameternamen mit einem Wert angeben und diesen Wert initialisieren können. Zum Beispiel:Woher stammt die Syntax paramname: value für die Übergabe von Parametern?
Team team = new Team(name: "Bengals")
Am Ende des Jahres verbessern ich IntelliJ und diese Syntax begann in meinen Java-Funktionen mit überladenen Funktionen mit unterschiedlichen Parameterlisten auftauchen. (Dies ist nicht sehr gut umgesetzt. Es ist verwirrend, wenn ich versuche, die Werte zu ändern. Ich habe es herausgefunden, aber schlecht umgesetzt.)
team.chant = (msg: "Who dey?");
was interessant ist, weil ich Swift Lernen bin 3 und verwendet die gleiche Syntax.
Es scheint unwahrscheinlich, dass Swift 3 von Groovy beeinflusst wurde, also bin ich neugierig. Welche Sprache setzt diese Sprachen unter Druck, um die Syntax von parname: value zu unterstützen?
Es scheint mir, dass Swift auf etwas basiert, was ich über Smalltalk weiß. Unterstützt Smalltalk diese Parametersyntax?
https://en.wikipedia.org/wiki/Named_parameter listet eine Reihe von Sprachen auf, die benannte Parameter unterstützen: Ada, C# 4.0+, Ceylon, ColdFusion Markup Language (CFML), Common Lisp, Fortran, IDL, Kotlin, Mathematica, Objective-C, PL/SQL, Python, Ruby, Scala, Smalltalk, Swift und Visual Basic. – eMBee
Beispiele hier: http://rosettacode.org/wiki/Call_a_function und hier: http://rosettacode.org/wiki/Named_parameters – eMBee
Interessant ... neu zu C# auch hinzugefügt. Konnte Ziel-C Fütterung schnell und C# beide sehen. Vielleicht ist das der Druck. – Thom