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. Справочное руководство - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Вы можете использовать Euphoria как мощнейший "пакетный" (.bat) язык, задавая нужные вам вызовы system() и system_exec().
system() запускает новую копию интерпретатора команд DOS или Linux/FreeBSD.
system() позволяет вам использовать из командной строки перенаправление стандартных входа и выхода, задавая его в строке st.
Под DOS32программа Euphoria стартует без использования расширенной памяти, но после старта начинает её использовать. Если для исполнения программы расширенной памяти перестанет хватать, программа начнёт занимать остатки стандартной памяти. При исчерпании и стандартной памяти начнётся использование виртуальной памяти, т.е. пересылка кода и данных на диск. Команда DOS, запущенная на исполнение с помощью system(), прервётся, если для её исполнения окажется недостаточно стандартной памяти. Чтобы избежать подобных ситуаций, вы можете зарезервировать некоторый объём стандартной (нижней) памяти, выполнив команду:
SET CAUSEWAY=LOWMEM:xxx
где xxx есть число K (килобайт) стандартной памяти, отводимой в резерв DOS. Резервирование должно быть выполнено до запуска вашей программы. Вы можете производить резервирование из вашего файла autoexec.batили из .bat-файла, запускающего вашу программу. Например:
SET CAUSEWAY=LOWMEM:80
ex myprog.ex
По данной команде будет зарезервировано 80K стандартной памяти, которых достаточно для исполнения простых команд DOS вроде COPY, MOVE, MKDIR и т.п., если вы их потом подадите из своей программы myprog.ex.
Пример 1:
system("copy temp.txt a:\\temp.bak", 2)
-- не забывайте писать двойную косую черту в вашей команде, чтобы в DOS
-- передавалась штатная одинарная
Пример 2:
system("ex \\test\\myprog.ex outdata", 2)
-- исполняется myprog, при этом её стандартные вход и выход
-- перенаправлены
См. также:
system_exec, dir, current_dir, getenv, command_line
system_exec
Синтаксис:
i1 = system_exec(st, i2)
Описание:
Пытается выполнить команду, заданную в строке st. Ряд st должен содержать команду запуска исполняемой программы, возможно, с некоторыми параметрами командной строки. Если программа может исполняться, в i1 будет записан код возврата из программы после её завершения. Если запуск программы невозможен, функция system_exec() выдаёт -1. В i2 должен быть указан код, дающий способ действий с текущим графическим режимом после завершения программы, вызванной system_exec(). Эти коды имеют те же самые значения, что и для функции system():
Когда i2 равно 0, восстанавливается предыдущий графический режим и экран очищается.
Когда i2 равно 1, подаётся звуковой сигнал, программа ждёт нажатия на клавишу перед восстановлением предыдущего графического режима.
Когда i2 равно 2, графический режим не восстанавливается и экран не очищается.
Комментарии:
Под DOS32 или WIN32 system_exec() запускает только .exeи .comпрограммы. Для запуска пакетных файлов .batили встроенных команд DOS следует пользоваться system() - некоторые команды DOS, такие как DEL и т.п., не являются отдельными программами, фактически они встроены в командный интерпретатор операционной системы.
Под DOS32 и WIN32 system_exec() не позволяет осуществлять перенаправление стандартных входа и выхода в командной строке st. Не разрешается также забирать в кавычки строки, которые содержат пробелы в именах каталогов и файлов.
Коды возврата из программ DOS или Windows обычно находятся в пределах от 0 до 255, 0 соответствует "нормальному завершению".
Вы можете запускать и дочерние программы Euphoria с использованием функции system_exec(). Программы Euphoria могут выдавать код возврата по команде abort().
system_exec() не запускает новую копию командного интерпретатора DOS.
Пример 1:
integer exit_code
exit_code = system_exec("xcopy temp1.dat temp2.dat", 2)
if exit_code = -1 then
puts(2, "\n не могу запустить xcopy.exe\n")
elsif exit_code = 0 then
puts(2, "\n успешное выполнение xcopy\n")
else
printf(2, "\n отказ xcopy с кодом ошибки %d\n", exit_code)
end if
Пример 2:
-- исполняет myprog с двумя именами файлов в качестве аргументов
if system_exec("ex \\test\\myprog.ex indata outdata", 2) then
puts(2, "отказ!\n")
end if
См. также:
system, abort
tan
Синтаксис:
x2 = tan(x1)
Описание:
Выдаёт тангенс x1, когда x1 выражен в радианах.
Комментарии:
Данная функция может быть применена к атому или ко всем элементам ряда.
Пример:
t = tan(1.0)
-- t равно 1.55741
См. также:
sin, cos, arctan
task_clock_start
Синтаксис:
task_clock_start()
Описание:
Перезапускает часы, используемые диспетчером для управления задачами реального времени. Эту подпрограмму необходимо вызвать, когда вы хотите возобновить выполнение задач реального времени, приостановленных командой task_clock_stop().
Комментарии:
Команды task_clock_stop() и task_clock_start() предназначены для приостановки и возобновления выполнения задач реального времени.
Вызов task_clock_start() корректирует плановое время всех задач реального времени на тот промежуток времени, который прошёл с момента вызова task_clock_stop(). Это позволяет игре, модели или другой программе продолжаться плавно за счёт того, что часы диспетчера задач оказываются развязанными от общесистемных часов.
Задачи общего времени при этом не затрагиваются.
Пример:
-- приостановить игру, пока игрок отвечает на телефонный звонок
task_clock_stop()
while get_key() = -1 do
end while
task_clock_start()
См. также:
task_clock_stop, task_schedule, task_yield, task_suspend
task_clock_stop
Синтаксис:
task_clock_stop()
Описание:
Останавливает часы диспетчера, ответственные за выполнение плана задач реального времени. Выполнение плана возобновится по команде task_clock_start(). Задачи общего времени могут продолжать выполняться. Текущая задача также может продолжать выполняться, но если это задача реального времени, управление от неё будет передано диспетчеру.
Комментарии:
Вызывайте task_clock_stop(), когда вам необходимо, чтобы диспетчер задач приостановил выполнение задач реального времени. Например, когда вы хотите временно остановить игру или программную модель, чтобы затем, после некоторого перерыва, продолжить её исполнение из точки остановки.
Функция time() этой командой не затрагивается, команда действует только в отношении часов диспетчера многозадачности Euphoria.
См. также:
task_clock_start, task_schedule, task_yield, task_suspend
task_create
Синтаксис:
a2 = task_create(i1, s)
Описание:
Оформляет заданную процедуру как новую задачу для передачи её диспетчеру многозадачности. Аргумент i1 представляет собой номер процедуры Euphoria, составляющей новую задачу. Ряд s - это список аргументов, которые будут поданы в процедуру-задачу, когда начнётся её исполнение. Выдаваемый результат, a2, является номером задачи, под которым она будет фигурировать в системе многозадачности Euphoria.
Читать дальшеИнтервал:
Закладка: