Ich arbeite gerade an einer sehr einfachen Übung: ein Verfahren, das zwischen zwei und einer unbestimmten Anzahl von Schwimmern vermehren kann. Meine erste Idee dafür war, den Splat-Operator zu verwenden:Wie übergebe ich (2-∞) Argumente an eine Ruby-Methode?
Das war nicht erfolgreich. Ich habe dann versucht diese:
def multiply *numbers
total = 1
numbers.each do |x|
total = total * x
end
total
end
Die oben ist fast erfolgreich-das Problem ist, dass es ein einziges Argument zu akzeptieren, und ich will es zumindest zwei verlangen. Wie kann ich das erreichen?
Es ist erwähnenswert, dass Sie auch eine Zeichenfolge als zweites Argument an 'raise' übergeben können, die als hilfreiche Nachricht dienen kann. –
Super, danke. Ich wusste nicht über inject. Können Sie die '(&: *)' Notation erklären, die der Methode folgt? – adc17
@adc Siehe https://stackoverflow.com/questions/1961030/ruby-ampersand-colon-shortcut – meagar