Verzeihen Sie die Anfängerfrage, aber sagen Sie, ich habe ein Array:
a = [1,2,3]
Und irgendwo eine Funktion; Nehmen wir an, es ist eine Instanzfunktion:
class Ilike
def turtles(*args)
puts args.inspect
end
end
Wie rufe ich Ilike.turtles
mit , a
als ob ich anrufen (Ilike.new).turtles(1,2,3)
.
Ich bin damit vertraut send
, aber dies scheint ein Array nicht in eine Argumentliste zu übersetzen.
Eine Parallele zu dem, was ich suche, ist das Javascript apply
, das call
dem Array entspricht, es aber in eine Argumentliste konvertiert.
a.unshift
Zappeln voranstellen könnenIlike.new.turtles(1,2,3,*a)
, obwohl das Nachstellen ein solches Manöver zu erfordern scheint.a=[1,2]; b=[4,5]; p(0,*a,3,*b,6) #=> "0\n1\n2\n3\n4\n5\n6"
some_func(*'some string of args'.split)