вторник, 20 декабря 2016 г.

Euler. Функции

EMT поддерживает весь стандартный набор функций, по-этому я не буду их здесь перечислять. Если вы хотите получить список функций, в имени которых присутствует заданное слово, введите
list имя
Информацию по интересующей функции можно получить с помощью команды
help имя
А если написать
type имя
то вы сможете узнать, какого типа данная переменная, а если это функция, то ещё и её описание. 

Что касается тригонометрических функций, аргумент, по-умолчанию, задаётся в радианах. Если же вам нужны градусы, то вы можете поставить соответствующий значок с помощью клавиши F7
Знак '&' перед функцией указывает на то, что результат будет получен через систему компьютерной алгебры Maxima и представлен в символьном виде.

В самом общем виде пользовательскую функцию можно записать следующим образом.
Т.е. сначала идёт ключевое слово function, затем тело функции, и наконец endfunction для завершения (не обязательно вводить это слово вручную, достаточно нажать Esc или Enter в новой строке для автоматического завершения ввода). Возвращаемый результат записывается после return. Если вы хотите добавить описание функции, которое будет отображаться в справочной информации, то можете записать его после двух решёток '##'. Функция может быть записана как непосредственно в блокноте во время сессии, так и в отдельном файле с расширением '.e', причём в этот файл можно сохранить "библиотеку" необходимых функций. 

Функции могут быть перегружены с ключевым словом override, при этом для доступа к оригиналу используется нижнее подчёркивание. Так что имена типа this_is_function не пройдут, нужно записывать что-то вроде this__is__function (с двойным подчёркиванием). 

При записи аргументов можно уточнять их тип, если это необходимо: f(x:number, y:string). Значения по умолчанию задаются, как обычно, с помощью приравнивания в списке аргументов: f(x, y=0). Если необходимо вернуть несколько значений, придётся их запаковать в список, т.е. заключить в фигурные скобки. 

Для простых однострочных функций существует упрощённый синтаксис 
Если заменить ':=' на '&=', получим функцию, возвращающую символьный результат. 

Интересной особенностью Euler является то, что выражение можно записать в виде строковой переменной. Для вычисления достаточно приписать справа скобки со списком аргументов (если они есть).
Более подробно об особенностях функций в Euler можно узнать из раздела справки
05 - Euler Programs


 


Комментариев нет:

Отправить комментарий