W Cat - Язык программирования Euphoria. Справочное руководство
- Название:Язык программирования Euphoria. Справочное руководство
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
W Cat - Язык программирования Euphoria. Справочное руководство краткое содержание
Euphoria (юфо'ри, также рус. эйфори'я, ра'дость) — язык программирования, созданный Робертом Крейгом (Rapid Deployment Software) в Канаде, Торонто. Название Euphoria — это акроним для «End-User Programming with Hierarchical Objects for Robust Interpreted Applications».
Euphoria — интерпретируемый императивный язык высокого уровня общего назначения. C помощью транслятора из исходного кода на Euphoria может быть сгенерирован исходный код на языке Си, который в свою очередь может быть скомпилирован в исполнияемый файл или динамическую библиотеку при помощи таких компиляторов, как GCC, OpenWatcom и др. Программа Euphoria также может быть «связана» с интерпретатором для получения самостоятельного исполняемого файла. Поддерживается несколько GUI-библиотек, включая Win32lib и оберток для wxWidgets, GTK+ и IUP. Euphoria имеет встроенную простую систему баз данных и обертки для работы с другими типам баз данных.
[Материал из Википедии]
Язык программирования Euphoria. Справочное руководство - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Пример программы:
demo\dos32\dosint.e x
См. также:
allocate_low, free_low
draw_line
Платформа:
DOS3 2
Синтаксис:
include graphics.e
draw_line(i, s)
Описание:
Чертит на экране в пиксельном режиме линию, соединяющую две или более точек с координатами, заданными в s, используя цвет номер i.
Пример:
draw_line(WHITE, {{100, 100}, {200, 200}, {900, 700}})
-- Белой линией будут соединены три точки
-- от {100, 100} до {200, 200}
-- и от {200, 200} до {900, 700}.
См. также:
polygon, ellipse, pixel
...
от E до G
ellipse
Платформа:
DOS3 2
Синтаксис:
include graphics.e
ellipse(i1, i2, s1, s2)
Описание:
Вычерчивает на экране в пиксельном режиме эллипс цвета номер i1. Эллипс будет вписан в воображаемый прямоугольник, определённый диагональными точками s1 {x1, y1} и s2 {x2, y2}. Если прямоугольник равносторонний (квадрат), эллипс становится кругом. Эллипс будет заполненным, когда аргумент i2 равен 1, и незаполненным, когда i2 равно 0.
Пример:
ellipse(MAGENTA, 0, {10, 10}, {20, 20})
-- Процедура вычерчивает окружность пурпурного (малинового) цвета,
-- которая является вписанной в воображаемый квадрат
-- с координатами вершин: {10, 10}, {10, 20}, {20, 20}, {20, 10}.
Пример программы:
demo\dos32\sb.e x
См. также:
polygon, draw_line
equal
Синтаксис:
i = equal(x1, x2)
Описание:
Сравнивает два объекта Euphoria для проверки их идентичности. Выдаёт 1 (истина), если объекты идентичны, 0 (ложь), если имеется отличие.
Комментарии:
Данная операция эквивалентна выражению: compare(x1, x2) = 0
Эта подпрограмма, подобно большинству встроенных подпрограмм, очень быстрая. В ней нет никаких накладных расходов на дополнительные вызовы.
Пример 1:
if equal(PI, 3.14) then
puts(1, "дайте мне более точное значение для PI!\n")
end if
Пример 2:
if equal(name, "George") or equal(name, "GEORGE") then
puts(1, "его имя - George\n")
end if
См. также:
compare, операции сравнения (=)
find
Синтаксис:
i = find(x, s)
Описание:
Ищет объект x как элемент ряда s. В случае первого же успеха выдаёт индекс (номер) текущего элемента в ряде s, который совпадает по величине с x, и прекращает дальнейший поиск. При неудаче поиска выдаёт 0.
Пример 1:
location = find(11, {5, 8, 11, 2, 3})
-- индекс location будет равен 3
Пример 2:
names = {"fred", "rob", "george", "mary", ""}
location = find("mary", names)
-- индекс location будет равен 4
См. также:
find_from, match, match_from, compare
find_from
Синтаксис:
i1 = find_from(x, s, i2)
Описание:
Ищет объект x как элемент ряда s, начиная поиск с индекса (номера) i2. В случае первого же успеха выдаёт индекс (номер) текущего элемента в ряде s, который совпадает по величине с x, и прекращает дальнейший поиск. При неудаче поиска выдаёт 0. Индекс i2 может иметь любую величину в диапазоне от 1 до длины ряда s плюс 1 - аналогично первому индексу сечения (отрезка) ряда s.
Пример 1:
location = find_from(11, {11, 8, 11, 2, 3}, 2)
-- индекс location будет равен 3
Пример 2:
names = {"mary", "rob", "george", "mary", ""}
location = find_from("mary", names, 3)
-- индекс location будет равен 4
См. также:
find, match, match_from, compare
float32_to_atom
Синтаксис:
include machine.e
a1 = float32_to_atom(s)
Описание:
Преобразует ряд, состоящий из 4 байтов, в атом. Считается, что эти 4 байта должны содержать число с плавающей точкой в 32-битном формате по стандарту IEEE.
Комментарии:
Любая 4-х байтовая величина, выражающая 32-битное число с плавающей точкой в формате IEEE, может быть преобразована в атом.
Пример:
f = repeat(0, 4)
fn = open("numbers.dat", "rb") -- побайтовое чтение
f[1] = getc(fn)
f[2] = getc(fn)
f[3] = getc(fn)
f[4] = getc(fn)
a = float32_to_atom(f)
См. также:
float64_to_atom, atom_to_float32
float64_to_atom
Синтаксис:
include machine.e
a1 = float64_to_atom(s)
Описание:
Преобразует ряд, состоящий из 8 байтов, в атом. Считается, что эти 8 байтов должны содержать число с плавающей точкой в 64-битном формате по стандарту IEEE.
Комментарии:
Любая 8-ми байтовая величина, выражающая 64-битное число с плавающей точкой в формате IEEE, может быть преобразована в атом.
Пример:
f = repeat(0, 8)
fn = open("numbers.dat", "rb") -- побайтовое чтение
for i = 1 to 8 do
f[i] = getc(fn)
end for
a = float64_to_atom(f)
См. также:
float32_to_atom, atom_to_float64
floor
Синтаксис:
x2 = floor(x1)
Описание:
Выдаёт наибольшее целое, меньшее или равное x1 (округляет вниз до целого, то есть, отбрасывая дробную часть у положительных чисел или считая дробную часть за полную -1 у отрицательных чисел).
Комментарии:
Эта функция может быть применена к атому или ко всем элементам ряда.
Пример:
y = floor({0.5, -1.6, 9.99, 100})
-- y будет равно {0, -2, 9, 100}
См. также:
remainder
flush
Синтаксис:
include file.e
flush(fn)
Описание:
Когда вы записываете данные в файл, обычно Euphoria сначала размещает данные в буфере, организованном в оперативной памяти, пока не будет накоплен достаточно большой объём этих данных. Этот сравнительно большой объём данных может быть затем очень быстро и эффективно записан на диск. Иногда у вас может возникнуть необходимость форсировать, ускорить немедленный вывод данных на диск, хотя оптимальный буфер ещё не заполнен. Чтобы сделать это досрочное выталкивание данных, и предназначена процедура flush(fn), где fn является номером файла, который был открыт вами для записи или дополнения.
Комментарии:
Когда файл закрывается, (см. close()), все данные, остающиеся в буфере, выводятся в файл именно так, как это делает процедура flush(). Когда программа заканчивается, во все открытые файлы выводятся данные, остающиеся в буфере, и файлы закрываются автоматически.
Используйте flush(), когда, например, другому процессу необходимо видеть все данные уже записанными на диск, но вы ещё не готовы закрыть файл.
Пример:
f = open("logfile", "w")
puts(f, "Record#1\n")
puts(1, "По готовности нажмите Enter\n")
flush(f) -- Команда выталкивает "Record #1" в файл "logfile" на диске.
-- Без этой команды "logfile" будет ещё пустым,
-- когда мы уже закончим ввод с клавиатуры.
s = gets(0) -- ожидание ввода с клавиатуры
См. также:
close, lock_file
free
Синтаксис:
include machine.e
free(a)
Описание:
Освобождает ранее занятый участок памяти, ориентируясь по начальному адресу этого участка, т.е. адресу, полученному от функции allocate() при подготовке участка к использованию.
Комментарии:
Не пренебрегайте функцией free() для освобождения и повторного использования программой участков памяти, занятых вами в дополнение к автоматическому её распределению во время работы программы. Это снизит вероятность нехваток оперативной памяти или чрезмерного обмена с дисковой виртуальной. Не обращайтесь по тем адресам, которые были освобождены. Когда ваша программа завершается, вся занятая ею память будет возвращена операционной системе автоматически.
Читать дальшеИнтервал:
Закладка: