Подтвердить что ты не робот

Почему Mathematica использует символ подчеркивания при определении параметров?

Например, если я определял следующую функцию

exprod[n_] := Expand[Product[x + i, {i, 1, n}]]

Тогда почему знак подчеркивания после переменной n, необходимый в определении функции? Откуда этот стиль исходит или он специфичен только для языка программирования Mathematica?

4b9b3361

Ответ 1

Подчеркивание происходит из соответствия шаблонов.

x_ соответствует чему угодно, и все это связано с именем x в теле функции.

l[x_ * y_] := l[x] + l[y];

Тогда сначала в l [2 * z] выражение 2 * z сопоставляется с шаблон x_ * y_. Тогда x связано с 2, а y связано с z. Затем оценивается выражение l [x] + l [y], и результат становится л [2] + L [г].

Теперь скажем, что мы хотим определить значение l на e как 1. Запишем ли мы l [e]: = 1 или l [e_]: = 1?

Говорят, что l (в буквальном смысле) переменная e должна быть 1. Другой говорит, что l что-то дает 1.

http://reference.wolfram.com/mathematica/tutorial/Introduction-Patterns.html