Функция Slot[n], или, в укороченной форме, #n, представляет n-й аргумент функции. Это иллюстрируют следующие примеры.
Ввод (In)
Вывод (Out)
(5* Slot [1] + Slot [2] *Slot[3]
A
2) &[a, b, с]
5a+bc
2
#1
A
#2 S[a, b]
a
b
Объект # эквивалентен #1, a #0 — заголовку абстрактной функции. Таким образом, F[#.#2]&F[a,b] эквивалентно F[a,b].
Функция SlotSequence [n], или, в укороченной форме, ##n, где п = 1, 2, ..., представляет порядок применения формальных аргументов к абстрактной функции. Таким образом, объект ##n определяет последовательность аргументов, начиная с n-го.
Ввод (In)
Вывод (Out)
(Times[5, ##2] +Times[##2, ##3
A
2]) &[а, b, с]
Sbobc
3
Представленные средства обеспечивают работу с функциями на абстрактном уровне.
Интересные возможности связаны с использованием подстановок при определении функций. Система допускает использование подстановок в виде f [x] = value и f[x_] = value.
Поясним это несколькими примерами.
Ввод (In)
Вывод (Out)
f[x] =u
u
f[x] +f[y]
u+f ty]
f [x_] = х^2
x
2
f[x] +f[y]
u+y
2
Clear [f]
f[x]+f[y]
f [x] + f [y]
Как нетрудно заметить из этих примеров, подстановки в функциях могут существенно изменить исходную функциональную зависимость. А потому важной областью их применения является модификация функций.