Большое количество библиотечных процедур предоставляются. Некоторые встроены прямо в интерпретатор, ex.exe, exw.exe или exu . Другие написаны на Euphoria, и вы должны включить один из файлов .e в каталог euphoria \ include, чтобы использовать их.
Чтобы указать, какой тип объекта может быть передан и возвращен, используются следующие префиксы:
| S.No | Префикс и описание |
|---|---|
| 1 |
Икс общий объект (атом или последовательность) |
| 2 |
s последовательность |
| 3 |
атом |
| 4 |
я целое число |
| 5 |
сноска целое число, используемое в качестве номера файла |
| 6 |
улица последовательность строк или односимвольный атом |
Икс
общий объект (атом или последовательность)
s
последовательность
атом
я
целое число
сноска
целое число, используемое в качестве номера файла
улица
последовательность строк или односимвольный атом
Предопределенные типы
Помимо объявления переменных с этими типами, вы также можете вызывать их, как обычные функции, чтобы проверить, является ли значение определенного типа.
| целое число | — | проверить, является ли объект целым числом |
| атом | — | проверить, является ли объект атомом |
| последовательность | — | проверить, является ли объект последовательностью |
| объект | — | проверить, является ли объект объектом (всегда верно) |
Манипуляции с последовательностями
| длина | — | вернуть длину последовательности |
| повторение | — | повторить объект n раз, чтобы сформировать последовательность длиной n |
| задний ход | — | перевернуть последовательность |
| присоединять | — | добавить новый элемент в конец последовательности |
| перед именем | — | добавить новый элемент в начало последовательности |
Поиск и сортировка
| сравнить | — | сравнить два объекта |
| равный | — | проверить, идентичны ли два объекта |
| находить | — | найти объект в последовательности — начать поиск с номера элемента 1 |
| find_from | — | найти объект в последовательности — начать поиск с любого номера элемента |
| матч | — | найти последовательность как фрагмент другой последовательности — начать поиск с номера элемента 1 |
| match_from | — | найти последовательность как фрагмент другой последовательности — начать поиск с любого номера элемента |
| Сортировать | — | сортировать элементы последовательности в порядке возрастания |
| custom_sort | — | сортировать элементы последовательности на основе предоставленной вами функции сравнения |
Сопоставление с образцом
| ниже | — | преобразовать атом или последовательность в нижний регистр |
| верхний | — | преобразовать атом или последовательность в верхний регистр |
| wildcard_match | — | соответствовать шаблону, содержащему? и * групповые символы |
| wildcard_file | — | сопоставить имя файла со спецификацией подстановочного знака |
математический
Эти процедуры могут быть применены к отдельным атомам или к последовательностям значений.
| SQRT | — | рассчитать квадратный корень объекта |
| рант | — | генерировать случайные числа |
| грех | — | рассчитать синус угла |
| агсзш | — | рассчитать угол с заданным синусом |
| соз | — | рассчитать косинус угла |
| агссоз | — | рассчитать угол с заданным косинусом |
| загар | — | рассчитать тангенс угла |
| агс | — | вычислить арктангенс числа |
| журнал | — | рассчитать натуральный логарифм |
| этаж | — | округлить до ближайшего целого |
| остаток | — | рассчитать остаток, когда число делится на другое |
| мощность | — | рассчитать число, возведенное в степень |
| ЧИСЛО ПИ | — | математическое значение PI (3.14159 …) |
Побитовые логические операции
Эти процедуры обрабатывают числа как набор двоичных битов, и логические операции выполняются с соответствующими битами в двоичном представлении чисел.
Нет никаких процедур для сдвига битов влево или вправо, но вы можете достичь того же эффекта, умножив или разделив на степени 2.
| and_bits | — | выполнить логическое И на соответствующих битах |
| or_bits | — | выполнить логическое ИЛИ на соответствующих битах |
| xor_bits | — | выполнить логическое XOR на соответствующих битах |
| not_bits | — | выполнить логическое НЕ на всех битах |
Файловое и устройство ввода-вывода
Для ввода или вывода файла или устройства вы должны сначала открыть файл или устройство, затем использовать приведенные ниже процедуры для чтения или записи в него, а затем закрыть файл или устройство. open () даст вам номер файла для использования в качестве первого аргумента других процедур ввода / вывода. Некоторые файлы / устройства открываются для вас автоматически (как текстовые файлы) —
- 0 — стандартный ввод
- 1 — стандартный вывод
- 2 — стандартная ошибка
| открыть | — | открыть файл или устройство |
| близко | — | закрыть файл или устройство |
| промывать | — | сбросить буферизованные данные в файл или на устройство |
| LOCK_FILE | — | заблокировать файл или устройство |
| unlock_file | — | разблокировать файл или устройство |
| Распечатать | — | выведите объект Euphoria в одну строку с фигурными скобками и запятыми {,,}, чтобы показать структуру |
| pretty_print | — | напечатать объект Euphoria в удобной для чтения форме, используя несколько строк и соответствующие отступы |
| ? Икс | — | сокращение для печати (1, х) |
| спринт | — | вернуть напечатанный объект Euphoria в виде последовательности строк |
| Printf | — | отформатированная печать в файл или на устройство |
| Sprintf | — | форматированная печать возвращается как последовательность строк |
| путы | — | вывести последовательность строк в файл или устройство |
| ЕОКП | — | читать следующий символ из файла или устройства |
| получает | — | читать следующую строку из файла или устройства |
| get_bytes | — | читать следующие n байтов из файла или устройства |
| prompt_string | — | предложить пользователю ввести строку |
| get_key | — | проверьте, нажата ли клавиша пользователем, не ждите |
| wait_key | — | подождите, пока пользователь нажмет клавишу |
| получить | — | читать представление любого объекта Euphoria из файла |
| prompt_number | — | предложить пользователю ввести номер |
| значение | — | читать представление любого объекта Euphoria из строки |
| искать | — | переместиться в любую позицию байта в открытом файле |
| где | — | сообщить текущую позицию байта в открытом файле |
| current_dir | — | вернуть имя текущего каталога |
| ChDir | — | перейти на новый текущий каталог |
| реж | — | вернуть полную информацию обо всех файлах в каталоге |
| walk_dir | — | рекурсивно просматривать все файлы в каталоге |
| allow_break | — | позволить control-c / control-Break завершить вашу программу или нет |
| check_break | — | проверить, нажал ли пользователь control-c или control-Break |
Поддержка мыши (DOS32 и Linux)
В Windows XP, если вы хотите, чтобы мышь DOS работала в (не полноэкранном) окне, вы должны отключить режим QuickEdit в окне «Свойства» для окна DOS.
| get_mouse | — | вернуть мышью «события» (щелчки, движения) |
| mouse_events | — | выберите события мыши для наблюдения |
| указатель мыши | — | отобразить или скрыть указатель мыши |
Операционная система
| время | — | количество секунд с фиксированной точки в прошлом |
| tick_rate | — | установить количество тактов в секунду (DOS32) |
| Дата | — | текущий год, месяц, день, час, минута, секунда и т. д. |
| командная строка | — | командная строка используется для запуска этой программы |
| GETENV | — | получить значение переменной среды |
| система | — | выполнить командную строку операционной системы |
| system_exec | — | выполнить программу и получить код выхода |
| выкинуть | — | прекратить исполнение |
| спать | — | приостановить исполнение на срок |
| Платформа | — | узнать, на какой операционной системе мы работаем |
Специальные машинно-зависимые процедуры
| machine_func | — | специализированные внутренние операции с возвращаемым значением |
| machine_proc | — | специализированные внутренние операции без возврата значения |
отладка
| след | — | динамически включает или выключает трассировку |
| профиль | — | динамически включает или выключает профилирование |
Графика и звук
Следующие процедуры позволяют отображать информацию на экране. В DOS экран ПК может быть переведен в один из множества графических режимов.
Следующие процедуры работают во всех текстовых и пиксельно-графических режимах.
| чистый экран | — | очистить экран |
| позиция | — | установить строку курсора и столбец |
| get_position | — | вернуть строку курсора и столбец |
| graphics_mode | — | выберите новую пиксельную графику или текстовый режим (DOS32) |
| video_config | — | вернуть параметры текущего режима |
| свиток | — | прокрутить текст вверх или вниз |
| заворачивать | — | перенос строки управления по правому краю экрана |
| цвет текста | — | установить цвет текста переднего плана |
| bk_color | — | установить цвет фона |
| палитра | — | изменить цвет для одного номера цвета (DOS32) |
| all_palette | — | изменить цвет для всех номеров цветов (DOS32) |
| get_all_palette | — | получить значения палитры для всех цветов (DOS32) |
| read_bitmap | — | прочитать файл растрового изображения (.bmp) и вернуть палитру и двумерную последовательность пикселей |
| save_bitmap | — | создать файл растрового изображения (.bmp) с заданной палитрой и двумерной последовательностью пикселей |
| get_active_page | — | вернуть страницу, на которую в данный момент пишется (DOS32) |
| set_active_page | — | изменить страницу, на которую в данный момент пишется (DOS32) |
| get_display_page | — | вернуть страницу, отображаемую в данный момент (DOS32) |
| set_display_page | — | изменить отображаемую страницу (DOS32) |
| звук | — | сделать звук на динамик ПК (DOS32) |
Следующие процедуры работают в тексте только в режимах
| курсор | — | выберите форму курсора |
| text_rows | — | установить количество строк на текстовом экране |
| get_screen_char | — | получить один символ с экрана |
| put_screen_char | — | поставить один или несколько символов на экране |
| save_text_image | — | сохранить прямоугольную область с текстового экрана |
| display_text_image | — | отобразить изображение на текстовом экране |
Следующие подпрограммы работают только в режиме пиксельной графики (DOS32)