Euphoria - Библиотечные процедуры
Предоставляется большое количество библиотечных подпрограмм. Некоторые встроены прямо в интерпретатор,ex.exe, exw.exe or exu. Другие написаны на Euphoria, и вы должны включить один из файлов .e вeuphoria\include каталог, чтобы использовать их.
Чтобы указать, какой тип объекта может быть передан и возвращен, используются следующие префиксы:
| S.No | Префикс и описание |
|---|---|
| 1 | x общий объект (атом или последовательность) |
| 2 | s последовательность |
| 3 | a атом |
| 4 | i целое число |
| 5 | fn целое число, используемое как номер файла |
| 6 | st последовательность строк или односимвольный атом |
Предопределенные типы
Помимо объявления переменных с этими типами, вы также можете вызывать их, как обычные функции, чтобы проверить, является ли значение определенным типом.
| целое число | - | проверить, является ли объект целым числом |
| атом | - | проверить, является ли объект атомом |
| последовательность | - | проверить, является ли объект последовательностью |
| объект | - | проверить, является ли объект объектом (всегда верно) |
Манипуляции с последовательностью
| длина | - | вернуть длину последовательности |
| повторение | - | повторить объект n раз, чтобы сформировать последовательность длины n |
| обеспечить регресс | - | перевернуть последовательность |
| добавить | - | добавить новый элемент в конец последовательности |
| добавить | - | добавить новый элемент в начало последовательности |
Поиск и сортировка
| сравнить | - | сравнить два объекта |
| равный | - | проверить, идентичны ли два объекта |
| найти | - | найти объект в последовательности - начать поиск с элемента номер 1 |
| find_from | - | найти объект в последовательности - начать поиск с любого номера элемента |
| соответствие | - | найти последовательность как часть другой последовательности - начать поиск с элемента номер 1 |
| match_from | - | найти последовательность как часть другой последовательности - начать поиск с любого номера элемента |
| Сортировать | - | сортировать элементы последовательности в порядке возрастания |
| custom_sort | - | сортировать элементы последовательности на основе предоставленной вами функции сравнения |
Соответствие шаблону
| ниже | - | преобразовать атом или последовательность в нижний регистр |
| верхний | - | преобразовать атом или последовательность в верхний регистр |
| wildcard_match | - | сопоставить шаблон, содержащий? и * подстановочные знаки |
| wildcard_file | - | сопоставить имя файла со спецификацией подстановочного знака |
Математика
Эти процедуры могут применяться к отдельным атомам или к последовательностям значений.
| sqrt | - | вычислить квадратный корень из объекта |
| ранд | - | генерировать случайные числа |
| грех | - | вычислить синус угла |
| Arcsin | - | вычислить угол с заданным синусом |
| потому что | - | вычислить косинус угла |
| arccos | - | вычислить угол с заданным косинусом |
| загар | - | вычислить тангенс угла |
| арктан | - | вычислить арктангенс числа |
| журнал | - | вычислить натуральный логарифм |
| этаж | - | округлить до ближайшего целого числа |
| остаток | - | вычислить остаток от деления числа на другое |
| сила | - | вычислить число в степени |
| ЧИСЛО ПИ | - | математическое значение PI (3,14159 ...) |
Побитовые логические операции
Эти процедуры обрабатывают числа как наборы двоичных битов, а логические операции выполняются с соответствующими битами в двоичном представлении чисел.
Нет процедур для сдвига битов влево или вправо, но вы можете добиться того же эффекта, умножив или разделив на степени двойки.
| and_bits | - | выполнить логическое И над соответствующими битами |
| or_bits | - | выполнить логическое ИЛИ над соответствующими битами |
| xor_bits | - | выполнить логический XOR над соответствующими битами |
| not_bits | - | выполнить логическое НЕ для всех битов |
Файловый и аппаратный ввод-вывод
Чтобы выполнить ввод или вывод в файл или устройство, вы должны сначала открыть файл или устройство, затем использовать приведенные ниже процедуры для чтения или записи в него, а затем закрыть файл или устройство. open () даст вам номер файла, который будет использоваться в качестве первого аргумента для других процедур ввода-вывода. Определенные файлы / устройства открываются для вас автоматически (как текстовые файлы) -
- 0 - стандартный ввод
- 1 - стандартный вывод
- 2 - стандартная ошибка
| открытым | - | открыть файл или устройство |
| Закрыть | - | закрыть файл или устройство |
| румянец | - | сбросить буферизованные данные в файл или на устройство |
| lock_file | - | заблокировать файл или устройство |
| unlock_file | - | разблокировать файл или устройство |
| Распечатать | - | выведите объект Euphoria в одну строку, заключив в фигурные скобки и запятые {,,}, чтобы показать структуру. |
| pretty_print | - | распечатать объект Euphoria в удобочитаемой форме, используя несколько строк и соответствующий отступ |
| ? Икс | - | сокращение для print (1, x) |
| спринт | - | вернуть напечатанный объект Euphoria в виде строковой последовательности |
| printf | - | форматированная печать в файл или на устройство |
| спринт | - | форматированная печать возвращается в виде строковой последовательности |
| ставит | - | вывести последовательность строк в файл или на устройство |
| getc | - | прочитать следующий символ из файла или устройства |
| получает | - | прочитать следующую строку из файла или устройства |
| get_bytes | - | прочитать следующие n байтов из файла или устройства |
| prompt_string | - | предложить пользователю ввести строку |
| get_key | - | проверьте нажатие клавиши пользователем, не ждите |
| wait_key | - | подождите, пока пользователь нажмет клавишу |
| получить | - | читать представление любого объекта Euphoria из файла |
| prompt_number | - | предложить пользователю ввести число |
| значение | - | читать представление любого объекта Euphoria из строки |
| стремиться | - | перейти к любой позиции байта в открытом файле |
| где | - | сообщить текущую позицию байта в открытом файле |
| current_dir | - | вернуть имя текущего каталога |
| чдир | - | перейти в новый текущий каталог |
| реж | - | вернуть полную информацию обо всех файлах в каталоге |
| 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)
| пиксель | - | установить цвет пикселя или набора пикселей |
| get_pixel | - | читать цвет пикселя или набора пикселей |
| draw_line | - | соединить серию графических точек линией |
| многоугольник | - | нарисовать n-стороннюю фигуру |
| эллипс | - | нарисуйте эллипс или круг |
| save_screen | - | сохранить экран в файл растрового изображения (.bmp) |
| сохранить изображение | - | сохранить прямоугольную область с экрана пиксельной графики |
| display_image | - | выводить изображение на экран с пиксельной графикой |
Многозадачность
| task_clock_start | - | перезапустить часы планировщика |
| task_clock_stop | - | остановить часы планировщика |
| task_create | - | создать новую задачу |
| список заданий | - | получить список всех задач |
| task_schedule | - | запланировать задачу для выполнения |
| task_self | - | вернуть идентификатор текущей задачи |
| task_status | - | текущий статус (активен, приостановлен, завершен) задачи |
| task_suspend | - | Приостановить задачу. |
| task_yield | - | Контроль доходности, чтобы планировщик мог выбрать новую задачу для запуска. |