Выбрать главу

a = log(100)

-- a будет равно 4.60517

См. также:

sin, cos, tan, sqrt

lower

Синтаксис:

include wildcard.e

x2 = lower(x1)

Описание:

Преобразует атом или ряд на латинском алфавите к нижнему регистру.

Пример:

s = lower("Euphoria")

-- s будет равно "euphoria"

a = lower('B')

-- a будет равно 'b'

s = lower({"Euphoria", "Programming"})

-- s будет равно {"euphoria", "programming"}

См. также:

upper

machine_func

Синтаксис:

x1 = machine_func(a, x)

Описание:

См. machine_proc() ниже

machine_proc

Синтаксис:

machine_proc(a, x)

Описание:

Выполняет специфические машинные операции, такие как графика или звуковые эффекты. Эти процедуры обычно вызываются косвенно через одну из соответствующих библиотечных процедур, имеющихся во включаемых файлах пакета Euphoria. Прямой вызов может повлечь за собой зависание машины или другие тяжелые последствия, если выполнен некорректно.

См. также:

machine_func

match

Синтаксис:

i = match(s1, s2)

Описание:

Пытается найти совпадение s1 и последовательных отрезков s2. Если удалось, выдаёт номер элемента s2, которым начинается (первый) совпадающий отрезок, иначе выдаёт 0.

Пример:

location = match("pho", "Euphoria")

-- location будет равно 3

См. также:

find, find_from, compare, match_from, wildcard_match

match_from

Синтаксис:

i1 = match_from(s1, s2, i2)

Описание:

Пытается найти совпадение s1 и последовательных отрезков s2, начиная с индекса i2. Если удалось, выдаёт номер элемента s2, которым начинается (первый) совпадающий отрезок, иначе выдаёт 0. i2 может иметь любую величину в пределах от 1 до длины s плюс 1. (Совершенно аналогично первому индексу при сечении s.)

Пример:

location = match_from("pho", "phoEuphoria", 4)

-- location будет равно 6

См. также:

find, find_from, match, compare, wildcard_match

mem_copy

Синтаксис:

mem_copy(a1, a2, i)

Описание:

Копирует участок в памяти, включающий i байтов, с адреса a2 по адресу a1.

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

Байты в памяти будут скопированы правильно, даже если участок по адресу a2 частично перекрывает участок по адресу a1.

mem_copy(a1, a2, i) эквивалентно: poke(a1, peek({a2, i})), но выполняется значительно быстрее.

Пример:

dest = allocate(50)

src = allocate(100)

poke(src, {1,2,3,4,5,6,7,8,9})

mem_copy(dest, src, 9)

См. также:

mem_set, peek, poke, allocate, allocate_low

mem_set

Синтаксис:

mem_set(a1, i1, i2)

Описание:

Устанавливает i2 байтов в памяти, начиная с адреса a1, в значение i1.

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

Младшие 8 битов i1 будут размещены в каждом байте.

mem_set(a1, i1, i2) эквивалентно: poke(a1, repeat(i1, i2)) но выполняется значительно быстрее.

Пример:

destination = allocate(1000)

mem_set(destination, ' ', 1000)

-- 1000 последовательных байтов в памяти будут установлены в 32

-- (ASCII-код для ' ')

См. также:

mem_copy, peek, poke, allocate, allocate_low

message_box

Платформа:

WIN32

Синтаксис:

include msgbox.e

i = message_box(s1, s2, x)

Описание:

Выводит окно с заголовком s2, содержащее строку сообщения s1. x определяет комбинацию кнопок, которые будут доступны для нажатия пользователем, и некоторые другие характеристики. x может быть атомом или рядом. Если функция выдаёт 0, это говорит об ошибке при попытке вывести окно.

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

Просмотрите msgbox.e, где имеется полный перечень возможных величин для x и i.

Пример:

response = message_box("Желаете продолжить?",

"Моя программа",

MB_YESNOCANCEL)

if response = IDCANCEL or response = IDNO then

abort(1)

end if

Пример программы:

demo\win32\email.exw

mouse_events

Платформа:

DOS32

Синтаксис:

include mouse.e

mouse_events(i)

Описание:

Используйте эту процедуру, чтобы выбрать мышиные события, которые вам необходимо отслеживать с помощью get_mouse(). По умолчанию get_mouse() будет выдавать данные обо всех событиях. mouse_events() может быть вызвана на различных этапах исполнения вашей программы по мере необходимости изменения перечня событий.

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

Хорошей практикой является игнорирование тех событий, которые вас не интересуют, кроме обычно очень частого события MOVE, чтобы снизить вероятность пропуска события, имеющего большое значение в вашей программе.

Первый вызов mouse_events(), который вы сделаете, включит курсор мыши или подсвеченный символ.

Пример:

mouse_events(LEFT_DOWN + LEFT_UP + RIGHT_DOWN)

-- ограничит данные get_mouse() информацией о нажатии

-- и отпускании левой кнопки и о нажатии правой кнопки.

-- Все остальные события будут игнорироваться.

См. также:

get_mouse, mouse_pointer

mouse_pointer

Платформа:

DOS32

Синтаксис:

include mouse.e

mouse_pointer(i)

Описание:

Если i равно 0, выключает курсор мыши, в противном случае включает его. Множественные выключения курсора требуют такого же числа включений. Первый вызов get_mouse() или mouse_events() также включит курсор (один раз).

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

Временное выключение курсора мыши может быть необходимым, если на экран выводится новая информация.

После вызова text_rows() вам может понадобиться вызов mouse_pointer(1), чтобы курсор мыши стал снова видимым.

См. также:

get_mouse, mouse_events

not_bits

Синтаксис:

x2 = not_bits(x1)

Описание:

Выполняет логическую операцию NOT над каждым битом в x1. Бит в x2 будет равен 1, когда соответствующий бит в x1 равен 0, и будет равен 0, когда соответствующий бит в x1 равен 1.

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

Аргументом для данной функции может быть атом или ряд. Применяются правила операций на рядах.

Аргумент должен быть представимым как 32-битное число, со знаком или без знака.

Если вы предполагаете манипулировать с полными 32-битными величинами, вы должны объявить ваши переменные как atom, а не как integer. Тип integer Euphoria ограничен 31-м битом.

Результаты трактуются как числа со знаком. Они будут отрицательными, если старший бит равен 1.

Пример:

a = not_bits(#000000F7)

-- a будет равно -248 (т.е. FFFFFF08 интерпретируется как отрицательное число)

См. также:

and_bits, or_bits, xor_bits, int_to_bits

object

Синтаксис:

i = object(x)

Описание:

Проверяет, является ли x объектом. Это всегда будет истиной, так что object() всегда выдаёт 1.

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

Все предопределенные и пользовательские типы могут также быть использованы для проверки, принадлежит ли величина данному типу. Функция object() включена только для комплектности. Она всегда выдаёт 1.