I’ve been working through problems on Project Euler, and some of the solutions that other people have posted use a triple-at-sign, i.e. ‘@@@’. In the help browser for v7, I find an entry for @@ (which says it’s the infix version of ‘Apply’) but none for @@@. What does it mean?
EDIT: Here’s an example, which I think I can post without violating the spirit of Project Euler:
bloc[n_, f_][t_] := {f @@@ #, #~Tr~f} & /@ Join @@ Partition[t, {n, n}, 1];
As others have noted,
@@@is, technically, shorthand forApplywith an optional third argument, as is explained deep in the documentation forApply.But I like to think of
as shorthand for
In other words, take a pure function (shorthand:
...#...&) that does anApply(shorthand:@@) to a list of arguments, andMap(shorthand:/@) that over a list of such lists of arguments.The result is