Access last variable in a pure function

So, maybe f = {##}[[-1]] & is what you are looking for.


Defining f2 in terms of f1 and c can be also obtained by using

f2 = With[{args = {##}}, f1 @@ Most[args] Last[args]] &

although, admittedly, using Part seems more natural.

Another way to achieve the same end is using patterns:

f2 = With[{args = {##}}, args /. {x__, y_} :> f1@x y] &

Although both definitions 'work', they feel like 'workarounds'; It would be really interesting to see a purely functional solution to this problem, if that is possible that is.