print_sorted_list() -- эта команда запускает программу
~~~~~~~~~~~
Данный пример содержит 4 отдельные команды, которые выполняются последовательно. Первая объявляет две переменные: list и sorted_list как ряды (sequence) (гибкие массивы). Вторая определяет функцию merge_sort(). Третья определяет процедуру print_sorted_list(). Четвёртая и последняя команда вызывает процедуру print_sorted_list() на исполнение.
Программа печатает на экране:
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}.
merge_sort() так же легко отсортирует {1.5, -9, 1e6, 100} или {"oranges", "apples", "bananas"} .
Данный пример имеется в каталоге Euphoria -- euphoria\tutorial\example.ex . Это не самый быстрый из методов сортировки, доступных в Euphoria. Перейдите в каталог -- euphoria\demo -- и введите команду "ex allsorts", чтобы проверить хронометраж различных алгоритмов сортировки при возрастании числа сортируемых объектов. Быстрый учебный пример программирования аналогичной функции на Euphoria вы можете также найти в -- euphoria\demo\bench\filesort.ex .
1.2 Установка
Чтобы установить систему Euphoria на своей машине, сначала прочтите инструкцию в файле install_r.doc . Установка заключается в простом копировании файлов euphoria на ваш жесткий диск в каталог (директорию) с именем "euphoria", и последующей модификации вашего файла autoexec.bat с таким расчётом, чтобы включить каталог euphoria\bin в путь поиска, а переменную окружения EUDIR установить на каталог euphoria.
После установки каталог euphoria на вашей машине будет выглядеть примерно так:
\euphoria readme.doc readme.htm License.txt \bin Интерпретаторы ex.exe и exw.exe. Трансляторы ec.exe и ecw.exe. Или на Linux/FreeBSD, интерпретатор exu и транслятор ecu. Здесь также будут служебные программы, такие как ed.bat, guru.bat и т.д. \include стандартные библиотеки, т.е. graphics.e и т.п. \source полный исходный код (интерпретатор, транслятор, биндер) \doc refman.doc, library.doc и другие файлы документации в простом текстовом формате \html файлы формата HTML, соответствующие каждому из файлов .doc в каталоге doc \tutorial небольшие учебные программы, которые помогут вам в изучении Euphoria \demo общие демо-программы, которые работают на всех платформах \dos32 демо-программы, специфические для DOS32 (может не быть) \win32 демо-программы, специфические для WIN32 (может не быть) \linux демо-программы, специфические для Linux/FreeBSD (может не быть) \langwar игра language war (пиксельно-графическая версия для DOS или текстовая версия для Linux/FreeBSD) \bench программы оценки производительности Подкаталог Linux не включается в пакет для DOS/Windows, а dos32 и win32 подкаталоги не включаютя в пакет для Linux/FreeBSD. В данном Руководстве каталоги показаны с использованием обратной косой черты. ( \ ). Пользователи Linux/FreeBSD должны помнить, что там действует обычная косая черта( / ).
1.3 Запуск программы
Программы Euphoria запускаются из командной строки вводом команды ex , exw или exu , сопровождаемой именем главного файла программы Euphoria. Вы также можете вводить здесь дополнительные слова (известные как аргументы командной строки ). Ваша программа может вызывать встроенную функцию command_line(), чтобы прочесть всю введённую вами командную строку. Версия интерпретатора Euphoria для DOS32 называется ex.exe . Версия для WIN32 называется exw.exe . Версия для Linux/FreeBSD называется exu . Как это здесь принято, главные файлы программ Euphoria имеют расширения .ex , .exw или .exu . Другие файлы Euphoria, предназначенные для включения в главную программу, имеют расширения .e или иногда .ew или .eu . Чтобы сократить команду, вы можете опускать ".ex", и интерпретатор ex будет подставлять это расширение для вас автоматически. exw.exe будет подставлять ".exw", а exu -- ".exu". Каждый из интерпретаторов перебирает и другие возможные расширения, если файл с основным расширением не нашёлся. Если файла с заданным именем, но ни с одним из условленных расширений, нет в текущем каталоге, проверяются каталоги из переменной окружения PATH (сначала с использованием основного расширения, а затем остальных).
Вы можете перенаправлять стандартные ввод и вывод из программы Euphoria, например:
ex filesort.ex sorted.txt
или просто,
ex filesort sorted.txt
В отличие от многих других компиляторов и интерпретаторов, здесь нет аргументов командной строки, предназначенных для изменения режима собственно интерпретаторов ex , exw или exu . Интерпретатор реагирует только на имя вашей программы Euphoria, и если вы не указали это имя, он пригласит вас к его вводу.