1
$\begingroup$

Let's say I have a list of arguments, of any length.

How would I add them all together?

f = Evaluate[Plus @@ Array[Slot, 3]] &
f[1, 2, 3]

This would add together 3 numbers, but how would I add together any amount of numbers?

$\endgroup$
0

2 Answers 2

5
$\begingroup$

See SlotSequence. I would use:

f = +## &

f[1, 2, 3]
6

The long form:

InputForm[f]
Plus[##1] &

Other forms would be:

Total @ {##} &

Tr @ {##} &

Plus @@ {##} &
$\endgroup$
3
$\begingroup$

I'm not sure I'm interpreting your question correctly, but the most obvious way is just

f = Plus;
f[1, 2, 3, 4, 5]

I assume that there is a deeper use case behind your question, so when you clarify what you like to achieve, maybe someone can give you better tips.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.