去年夏天我學習了groovy,並發現了構造函數的語法,您可以使用值指定參數名稱並初始化該值。例如:傳遞參數的parmname:value語法的起源是什麼?
Team team = new Team(name: "Bengals")
在今年年底,我升級的IntelliJ這句法開始出現在我的Java功能,用不同的參數列表重載函數。 (這是不執行得非常好。這是混亂的,當我試圖改變這些值。我已經想通了,但執行不力。)
team.chant = (msg: "Who dey?");
,這很有趣,因爲我學習斯威夫特3,它使用相同的語法。
Swift 3似乎不太可能受到Groovy的影響,所以我很好奇。什麼語言對這些語言施加壓力以支持parmname:value語法?
在我看來,斯威夫特是基於我對Smalltalk知之甚少的。 Smalltalk是否支持這個參數語法?
https://en.wikipedia.org/wiki/Named_parameter列出了許多支持命名參數的語言: Mathematica,Objective-C,PL/SQL,Python,R,Ruby,Scala,Smalltalk,Swift和Visual Basic。 – eMBee
示例在這裏:http://rosettacode.org/wiki/Call_a_function和這裏:http://rosettacode.org/wiki/Named_parameters – eMBee
有趣...新添加到C#中。可以看到Objective-C餵食Swift和C#。也許這就是壓力。 – Thom