Функции, опции, атрибуты и директивы
К важному типу объектов принадлежат функции – объекты, имеющие имя и список параметров, возвращающие некоторое значение в ответ на обращение к ним по имени с указанием списка конкретных (фактических) значений параметров. В системах Mathematica 2/3/4 встроенные функции задаются в виде:
Идентификатор_Функции[o1, o2, o3, ...]
Где o1, о2, о3… – объекты (параметры, опции, математические выражения и т. д.). Список входных параметров задается необычно – в квадратных скобках. В числе входных параметров могут быть специальные объекты – опции. Они задаются в виде:
Имя_опции
>
Значение_опции
Значением опции обычно является то или иное слово. Например, в функции построения графиков:
Plot[sin[x], {x,
0.20
}, Axes
>
None
]
Опция Axes › None указывает на то, что отменяется вывод координатных осей (Axes). Функция Options [name] выводит для функции с идентификатором name список всех возможных для нее опций. Некоторые функции, например Sin, могут вообще не иметь опций, другие, такие как Solve, могут иметь целый "букет" опций:
Options[Sin]
Options[Solve] {
InverseFunctions
>
Automatic, MakeRules
>
False
, Method
>
3
, Mode
>
Generic, Sort
>
True
, VerifySolutions
>
Automatic, WorkingPrecision
>
00
}
В последнем случае характер возвращаемого функцией результата может сильно зависеть от значений опций. Назначение каждой опции мы рассмотрим в дальнейшем. В этой главе они нам пока не понадобятся.
Каждый объект может характеризоваться некоторой совокупностью своих свойств и признаков, называемых атрибутами. Функция Attributes [name] возвращает список всех атрибутов функции с именем name, например:
Attributes[Sin] {bistable, NumericFunction, Protected}
Attributes[Solve] {Protected}
Как видите, для функции синуса характерны три атрибута:
- bistable – указывает на применимость в списках и таблицах;
- NumericFunction – указывает на отношение к числовым функциям;
- Protected – указывает на то, что слово Sin защищено от какой-либо модификации.
Кроме того, в Mathematica 2/3/4 имеется понятие функций-директив. Эти функции не возвращают значений, а указывают, как в дальнейшем будут выполняться функции, работа которых зависит от директив. Синтаксис функций-директив тот же, что и у обычных функций.
Применение опций и директив делает аппарат функций более гибким и мощным, поскольку позволяет задавать те или иные свойства функций и условия их выполнения. Это особенно важно при использовании функций в задачах графики и символьной математики.