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 | - | Контроль доходности, чтобы планировщик мог выбрать новую задачу для запуска. |