Ist es möglich, eine Map auf eine Liste von Methodenargumenten zu erweitern
?In Python ist es möglich, z. Tupel in Argumente erweitern
Ich habe ein def map = ['a':1, 'b':2]
und eine Methode def m(a,b)
Ich möchte smt wie m(*map)
Der Spread-Operator (*) wird verwendet, um a getrennt in einzelne Elemente aufzählen. Dies kann verwendet werden, um eine Methode mit mehreren Parametern aufzurufen und dann eine Liste in die Werte für die Parameter zu verteilen.
Liste (Listen in Groovy sind am nächsten mit Tupeln in Python verwandt 1 , 2 ):
%Vor%Karte:
%Vor%Ein wichtiger Punkt ist, dass Sie die Argumente nach Position übergeben.
Das Beste, woran ich momentan denke, ist:
%Vor%Dies berücksichtigt jedoch die Reihenfolge der Map und nicht die Namen der Schlüssel beim Aufruf der Funktion / Konstruktor.
Sie möchten wahrscheinlich eine Funktion / einen Konstruktor hinzufügen, der eine Map übernimmt, und zwar auf diese Weise
Tags und Links arguments parameter-passing groovy