2012-05-21 1 views
13

Например, если я определял следующую функциюПочему Mathematica использует символ подчеркивания при определении параметров?

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

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

+0

Я думаю, что это будет сообщество вики? Я не совсем уверен. – ripit

+0

Теперь сайт [StackExchange только для Mathematica] (http://mathematica.stackexchange.com/). Пожалуйста, подумайте о том, чтобы задавать вопросы в будущем. – Verbeia

ответ

16

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

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

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

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

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

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

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

+2

Большое спасибо. Это было интересно читать и ТОЧНО, что я искал. – ripit