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. Справочное руководство - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Пример 1:
Вы можете применить append() для динамического удлинения ряда, т.е.
sequence x
x = {}
for i = 1 to 10 do
x = append(x, i)
end for
-- x теперь равен {1,2,3,4,5,6,7,8,9,10}
Пример 2:
Любой объект Euphoria может быть добавлен к ряду, т.е.
sequence x, y, z
x = {"fred", "barney"}
y = append(x, "wilma")
-- y теперь равен {"fred", "barney", "wilma"}
z = append(append(y, "betty"), {"bam", "bam"})
-- z теперь равен {"fred", "barney", "wilma", "betty", {"bam", "bam"}}
См. также:
prepend, оператор сцепления &, оператор формирования ряда
arccos
Синтаксис:
include misc.e
x2 = arccos(x1)
Описание:
Выдаёт угол, косинус которого равен x1.
Комментарии:
Аргумент, x1, должен быть в пределах от -1 до +1 включительно.
Результат, выраженный в радианах, будет находиться между 0 и PI.
Данная функция может быть применена к атому или ко всем элементам ряда.
Функция arccos() вычисляется не так быстро, как arctan().
Пример:
s = arccos({-1,0,1})
-- s равно {3.141592654, 1.570796327, 0}
См. также:
cos, arcsin, arctan
arcsin
Синтаксис:
include misc.e
x2 = arcsin(x1)
Описание:
Выдаёт угол, синус которого равен x1.
Комментарии:
Аргумент, x1, должен быть в пределах от -1 до +1 включительно.
Результат, выраженный в радианах, будет находиться между -PI/2 и +PI/2.
Данная функция может быть применена к атому или ко всем элементам ряда.
Функция arcsin() вычисляется не так быстро, как arctan().
Пример:
s = arcsin({-1,0,1})
-- s равно {-1.570796327, 0, 1.570796327}
См. также:
sin, arccos, arctan
arctan
Синтаксис:
x2 = arctan(x1)
Описание:
Выдаёт угол, тангенс которого равен x1.
Комментарии:
Результат, выраженный в радианах, будет между -PI/2 и PI/2.
Данная функция может быть применена к атому или ко всем элементам ряда.
Функция arctan() вычисляется быстрее, чем arcsin() или arccos().
Пример:
s = arctan({1,2,3})
-- s равно {0.785398, 1.10715, 1.24905}
См. также:
tan, arcsin, arccos
atom
Синтаксис:
i = atom(x)
Описание:
Выдаёт 1, если x является атомом, иначе выдаёт 0.
Комментарии:
Данная команда, в основном, служит для объявления переменных типа atom. Но вы можете также применять её подобно вызову функции, чтобы определить, не является ли объект атомом.
Пример 1:
atom a
a = 5.99
Пример 2:
object line
line = gets(0)
if atom(line) then
puts(SCREEN, "конец файла\n")
end if
См. также:
sequence, object, integer, атомы и ряды
atom_to_float32
Синтаксис:
include machine.e
s = atom_to_float32(a1)
Описание:
Преобразует атом Euphoria в ряд из 4-х однобайтовых величин. Эти 4 байта содержат представление числа с плавающей точкой в 32-х битном формате по стандарту IEEE.
Комментарии:
Атомы Euphoria могут иметь величины, соответствующие 64-битным числам с плавающей точкой стандарта IEEE, так что вы можете потерять точность при преобразовании их к 32-битным числам (16 значащих цифр против 7). Диапазон показателей экспонент также намного шире для 64-битных чисел, чем в 32-битном формате (308 против 38), поэтому некоторые атомы могут оказаться слишком большими или слишком маленькими для представления их в 32-битном формате. В этом случае вы получите одну из специальных 32-битных величин: inf или -inf (бесконечность или -бесконечность). Чтобы избежать этих ограничений, вы можете применить atom_to_float64().
Целочисленные величины также могут быть преобразованы в 32-битный формат с плавающей точкой.
Пример:
fn = open("numbers.dat", "wb")
puts(fn, atom_to_float32(157.82)) -- запись 4-х байтов в файл
См. также:
atom_to_float64, float32_to_atom
atom_to_float64
Синтаксис:
include machine.e
s = atom_to_float64(a1)
Описание:
Преобразует атом Euphoria в ряд, состоящий из 8 однобайтовых величин. Эти 8 байтов содержат представление числа с плавающей точкой в 64-битном формате по стандарту IEEE.
Комментарии:
Все атомы Euphoria имеют величины, которые могут быть представлены как 64-битные числа с плавающей точкой в формате по стандарту IEEE, поэтому вы можете преобразовать любой атом в 64-битный формат без всяких потерь точности.
Целочисленные величины также могут быть преобразованы в 64-битный формат с плавающей точкой.
Пример:
fn = open("numbers.dat", "wb")
puts(fn, atom_to_float64(157.82)) -- запись 8 байтов в файл
См. также:
atom_to_float32, float64_to_atom
bits_to_int
Синтаксис:
include machine.e
a = bits_to_int(s)
Описание:
Преобразует ряд, состоящий из единиц и нулей, дающих двоичное представление числа, в положительное десятичное число. Младший значащий "бит" должен быть первым членом ряда, s[1].
Комментарии:
Если вывести ряд s на печать, то младшие биты будут находиться слева, то есть в "инверсном" порядке по отношению к обычной форме записи, принятой для многоразрядных чисел, но это соглашение удобно, так как позволяет иметь возрастающие индексы для доступа к битам по мере возрастания веса битов.
Пример:
a = bits_to_int({1,1,1,0,1})
-- a равно 23 (двоичное 10111)
См. также:
int_to_bits, операции на рядах
bk_color
Синтаксис:
include graphics.e
bk_color(i)
Описание:
Устанавливает цвет фона в один из 16 стандартных цветов. В пиксельных режимах весь экран перекрашивается немедленно. В текстовых режимах любые новые символы, которые вы печатаете, будут появляться на фоне с новым цветом. В некоторых текстовых режимах для фона доступны только 8 различных цветов.
Комментарии:
16 стандартных цветов определены как константы в файле graphics.e.
В пиксельных режимах цвет 0, который обычно соответствует чёрному (BLACK), будет установлен в то самое значение палитры {r,g,b}, что и цвет номера i.
В некоторых пиксельных режимах на краю экрана появляется цветной бордюр . В 256-цветных режимах цвет бордюра соответствует 17-ому цвету палитры. Вы можете управлять цветом бордюра подобно всем другим цветам, используя процедуру palette().
В текстовых режимах для того, чтобы восстановить исходный цвет фона, когда ваша программа заканчивается, т.е. 0 - ЧЁРНЫЙ, вы должны вызвать процедуру bk_color(0). Если курсор находится на нижней строке экрана, целесообразно напечатать что-нибудь перед остановкой вашей программы. Напечатайте хотя бы '\n', и этого может быть достаточно.
Пример:
bk_color(BLACK)
См. также:
text_color, palette
bytes_to_int
Синтаксис:
include machine.e
a = bytes_to_int(s)
Описание:
Преобразует 4-х элементный ряд, состоящий из байтов, в атом. Элементы ряда s должны находиться в порядке, предусмотренном для 32-битных целых чисел на машинах 386+, т.е. младший значащий байт первый - s[1].
Комментарии:
Результат может быть больше, чем допускает тип integer, поэтому вы должны присваивать его значение атому.
Ряд s будет обычно содержать положительные величины, которые ранее были прочитаны оператором peek() из 4-х последовательных ячеек памяти.
Пример:
atom int32
int32 = bytes_to_int({37,1,0,0})
Интервал:
Закладка: