W Cat - Язык программирования Euphoria. Справочное руководство
Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.
Жалоба
Напишите нам, и мы в срочном порядке примем меры.
Описание книги "Язык программирования Euphoria. Справочное руководство"
Описание и краткое содержание "Язык программирования 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 имеет встроенную простую систему баз данных и обертки для работы с другими типам баз данных.
[Материал из Википедии]
Комментарии:
Если Си-функция не требует подачи никаких аргументов, тогда ряд s должен быть пустым рядом {}.
Если в качестве аргумента вы подаёте величину, которая содержит дробную часть, в то время как Си-функция ожидает целочисленный тип Си, аргумент будет округлен в сторону нуля, т.е. 5.9 будет подано как 5, а -5.9 будет подано как -5.
Функция Си может входить в состав библиотеки .dll или .so, созданной транслятором с Euphoria на Си. В этом случае выдаваемая ею величина могла бы быть типа атом или ряд Euphoria. Но функции Си и функции машинного кода могут выдавать только целочисленные величины или, в более общем случае, атомы (числа с плавающей точкой по стандарту IEEE).
Пример:
atom user32, hwnd, ps, hdc
integer BeginPaint
-- открыть user32.dll - она содержит Си-функцию BeginPaint
user32 = open_dll("user32.dll")
-- Си-функция BeginPaint принимает аргументы типа C int и
-- типа C pointer, и выдаёт величину типа C int в качестве результата:
BeginPaint = define_c_func(user32, "BeginPaint",
{C_INT, C_POINTER}, C_INT)
-- вызвать BeginPaint, подавая hwnd и ps в качестве аргументов,
-- присвоить результат hdc:
hdc = c_func(BeginPaint, {hwnd, ps})
См. также:
c_proc, define_c_func, open_dll, platform_r.htm
c_proc
Платформа:
WIN32, Linux, FreeBSD
Синтаксис:
c_proc(i, s)
Описание:
Вызывает Си-функцию или процедуру машинного кода, используя идентификатор (номер) процедуры i. Аргумент i должен быть разрешенным идентификатором процедуры, выданным функцией define_c_proc(). Аргумент s является рядом длины n, содержащим величины аргументов вызываемой Си-функции (процедуры), где n - число аргументов, требуемых Си-функцией (процедурой).
Комментарии:
Если Си-функция не требует подачи никаких аргументов, тогда ряд s должен быть пустым рядом {}.
Если в качестве аргумента вы подаёте величину, которая содержит дробную часть, в то время как Си-функция ожидает целочисленный тип Си, аргумент будет округлен в сторону нуля, т.е. 5.9 будет подано как 5, а -5.9 будет подано как -5.
Функция Си может входить в состав библиотеки .dll или .so, созданной транслятором с Euphoria на Си.
Пример:
atom user32, hwnd, rect
integer GetClientRect
-- открыть user32.dll - здесь содержится Си-функция GetClientRect
user32 = open_dll("user32.dll")
-- GetClientRect - это Си-функция типа VOID, у которой два аргумента - типа C int
-- и типа C pointer:
GetClientRect = define_c_proc(user32, "GetClientRect",
{C_INT, C_POINTER})
-- подать hwnd и rect в качестве аргументов
c_proc(GetClientRect, {hwnd, rect})
См. также:
c_func, call, define_c_proc, open_dll, platform_r.htm
call_func
Синтаксис:
x = call_func(i, s)
Описание:
Вызывает определенную программистом Euphoria-функцию с идентификатором (номером) подпрограммы i. Аргумент i должен быть разрешенным идентификатором (номером), выданным routine_id(). Аргумент s является рядом длины n, содержащим аргументы занумерованной функции, где n - число аргументов, требуемых функцией номер i. Переменная x будет содержать результат, выданный функцией номер i.
Комментарии:
Если функция номер i не требует подачи никаких аргументов, тогда ряд s должен быть пустым рядом {}.
Пример программы:
demo\csort.ex
См. также:
call_proc, routine_id
call_proc
Синтаксис:
call_proc(i, s)
Описание:
Вызывает определенную программистом Euphoria-процедуру с идентификатором (номером) подпрограммы i. Аргумент i должен быть разрешенным идентификатором (номером), выданным routine_id(). Аргумент s является рядом длины n, содержащим аргументы занумерованной процедуры, где n - число аргументов, требуемых процедурой номер i.
Комментарии:
Если процедура номер i не требует подачи никаких аргументов, тогда ряд s должен быть пустым рядом {}.
Пример:
global integer foo_id
procedure x()
call_proc(foo_id, {1, "Hello World\n"})
end procedure
procedure foo(integer a, sequence s)
puts(a, s)
end procedure
foo_id = routine_id("foo")
x()
См. также:
call_func, routine_id
chdir
Синтаксис:
include file.e
i = chdir(s)
Описание:
Изменяет текущий каталог (директорию, фолдер, папку) по пути, который задан рядом s. Аргумент s должен содержать имя каталога, существующего на данной машине. В случае успешного изменения каталога chdir() выдаёт 1. Если перейти в заданный каталог не удалось, chdir() выдаёт 0.
Комментарии:
Переходя в необходимый вам каталог и делая его текущим, вы можете затем обращаться к файлам в этом каталоге, указывая только имя файла, без упоминания полного пути к этому файлу.
Функция current_dir() выдаёт имя текущего каталога.
Под DOS32 и WIN32 текущий каталог является общим для всех программ и процессов, исполняемых в одной оболочке (т.е. под управлением одного и того же или единственного экземпляра интерпретатора команд ОС).
Под Linux/FreeBSD дочерние программы могут изменять текущий каталог для своих нужд, но эти изменения не будут относиться к текущему каталогу родительской программы.
Пример:
if chdir("c:\\euphoria") then
f = open("readme.doc", "r")
else
puts(1, "Ошибка: отсутствует каталог euphoria?\n")
end if
См. также:
current_dir
check_break
Синтаксис:
include file.e
i = check_break()
Описание:
Выдаёт число нажатий сочетания клавиш control-c или control-Break, имевших место с момента последнего вызова check_break(), или с начала программы, если этот вызов первый.
Комментарии:
Данная функция полезна, если в вашей программе была исполнена команда allow_break(0), которая запрещает прерывание вашей программы по нажатию сочетания клавиш control-c и control-Break. Вы можете использовать check_break(), чтобы выяснить, не нажимал ли всё-таки пользователь одно из этих аварийных сочетаний клавиш. Затем вы можете сделать всё то, что требуется для аккуратного и безошибочного завершения вашей программы без малейшего риска потери данных и повреждений файловой системы на диске.
В этих условиях ни control-c, ни control-Break не будут выданы как управляющие символы в операционную систему, если даже вы читаете состояние клавиатуры. Вы сможете только обнаружить, что нажатия состоялись, вызвав check_break().
Пример:
k = get_key()
if check_break() then
temp = graphics_mode(-1)
puts(1, "Программа завершается ...")
save_all_user_data()
abort(1)
end if
См. также:
allow_break, get_key
clear_screen
Синтаксис:
clear_screen()
Описание:
Очищает экран, заполняя его текущим фоновым цветом (этот цвет может быть также задан с помощью bk_color()) и устанавливая курсор в левый верхний угол экрана.
Комментарии:
Процедура работает во всех текстовых и пиксельных режимах.
См. также:
bk_color, graphics_mode
close
Синтаксис:
close(fn)
Описание:
Закрывает файл или устройство, завершив вывод символов, если они ещё оставались в буфере к данному моменту.
Комментарии:
Когда ваша программа заканчивается при нормальном её течении, все открытые файлы и устройства закрываются автоматически, если не были закрыты ранее с помощью команды close(fn).
См. также:
open, flush
command_line
Синтаксис:
s = command_line()
Описание:
Выдаёт ряд, состоящий из строк, в котором каждая строка является словом, введённым в командную строку, с которой была запущена ваша программа. В первом слове будет путь к интерпретатору Euphoria ex.exe, exw.exe или exu, или к вашему связанному исполняемому файлу. В следующем слове будет или имя вашего Euphoria .ex файла, или (опять же) путь к вашему связанному исполняемому файлу. Затем будут идти все те дополнительные слова, которые были введены вами. Вы можете использовать эти слова в вашей программе, например, задавая тот или иной режим её работы. Серии слов можно забирать в кавычки, чтобы тем самым превратить серию слов в единственный аргумент.
Комментарии:
Собственно интерпретаторы Euphoria не используют никаких аргументов командной строки. Но вы можете использовать любые аргументы по своему усмотрению для своих собственных программ.
Если вы преобразовали вашу программу к виду .exe с помощью биндера или транслятора, вы найдете, что аргументы командной строки остались теми же самыми, за исключением первых двух, хотя ваш пользователь уже не вводит "ex" в командной строке (см. примеры ниже).
Пример 1:
-- Пользователь вводит: ex myprog myfile.dat 12345 "the end"
cmd = command_line()
-- cmd будет равно:
{"C:\EUPHORIA\BIN\EX.EXE",
"myprog",
"myfile.dat",
"12345",
"the end"}
Пример 2:
-- Ваша программа окутана, её имя "myprog.exe",
-- и помещена в каталог c:\myfiles
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!
Похожие книги на "Язык программирования Euphoria. Справочное руководство"
Книги похожие на "Язык программирования Euphoria. Справочное руководство" читать онлайн или скачать бесплатно полные версии.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Отзывы о "W Cat - Язык программирования Euphoria. Справочное руководство"
Отзывы читателей о книге "Язык программирования Euphoria. Справочное руководство", комментарии и мнения людей о произведении.