Язык программирования Euphoria. Справочное руководство - W Cat
0/0

Язык программирования Euphoria. Справочное руководство - W Cat

Уважаемые читатели!
Тут можно читать бесплатно Язык программирования Euphoria. Справочное руководство - W Cat. Жанр: Программирование. Так же Вы можете читать полную версию (весь текст) онлайн книги без регистрации и SMS на сайте Knigi-online.info (книги онлайн) или прочесть краткое содержание, описание, предисловие (аннотацию) от автора и ознакомиться с отзывами (комментариями) о произведении.
Описание онлайн-книги Язык программирования Euphoria. Справочное руководство - W Cat:
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. Справочное руководство - W Cat

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 21 22 23 24 25 26 27 28 29 ... 39

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

Когда файл закрывается, (см. close()), все данные, остающиеся в буфере, выводятся в файл именно так, как это делает процедура flush(). Когда программа заканчивается, во все открытые файлы выводятся данные, остающиеся в буфере, и файлы закрываются автоматически.

Используйте flush(), когда, например, другому процессу необходимо видеть все данные уже записанными на диск, но вы ещё не готовы закрыть файл.

Пример:

f = open("logfile", "w")

puts(f, "Record#1n")

puts(1, "По готовности нажмите Entern")

flush(f) -- Команда выталкивает "Record #1" в файл "logfile" на диске.

-- Без этой команды "logfile" будет ещё пустым,

-- когда мы уже закончим ввод с клавиатуры.

s = gets(0) -- ожидание ввода с клавиатуры

См. также:

close, lock_file

free

Синтаксис:

include machine.e

free(a)

Описание:

Освобождает ранее занятый участок памяти, ориентируясь по начальному адресу этого участка, т.е. адресу, полученному от функции allocate() при подготовке участка к использованию.

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

Не пренебрегайте функцией free() для освобождения и повторного использования программой участков памяти, занятых вами в дополнение к автоматическому её распределению во время работы программы. Это снизит вероятность нехваток оперативной памяти или чрезмерного обмена с дисковой виртуальной. Не обращайтесь по тем адресам, которые были освобождены. Когда ваша программа завершается, вся занятая ею память будет возвращена операционной системе автоматически.

Не вызывайте free(), чтобы освободить память, занятую в нижних адресах с помощью функции allocate_low(). Для этого имеется специальная процедура free_low().

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

democallmach.ex

См. также:

allocate, free_low

free_console

Платформа:

WIN32, Linux, FreeBSD

Синтаксис:

include dll.e

free_console()

Описание:

Закрывает (удаляет) консольное окно, связанное с вашей программой (если оно существует).

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

Эта процедура используется, если вы получаете нежелательное сообщение "Press Enter" в конце исполнения вашей программы на платформах Windows или Linux/FreeBSD.

См. также:

clear_screen, platform_r.htm

free_low

Платформа:

DOS32

Синтаксис:

include machine.e

free_low(i)

Описание:

Освобождает ранее занятый участок стандартной памяти. Аргумент i представляет собой начальный адрес участка, который был вами получен при выделении участка с помощью функции allocate_low().

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

Процедуру free_low() следует использовать для возвращения участков стандартной памяти в резерв программы во время её работы. Это снизит вероятность исчерпания стандартной памяти. Не обращайтесь к тем участкам памяти, которые были освобождены. Когда ваша программа завершается, вся занятая ею память, включая резервы программы, возвращается в распоряжение операционной системы.

Не используйте free_low() для освобождения той памяти, которая была выделена с помощью функции allocate(). Для этого случая существует своя собственная процедура free().

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

demodos32dosint.ex

См. также:

allocate_low, dos_interrupt, free

get

Синтаксис:

include get.e

s = get(fn)

Описание:

Считывает из файла fn строковое (текстовое) представление объекта Euphoria. Преобразует строковое представление в численное значение данного объекта, которое может быть затем присвоено переменной. Выдаваемый функцией ряд является 2-х элементным рядом вида: {результат чтения, значение объекта}.

Коды, обозначающие результат чтения (константы определены в файле get.e):

GET_SUCCESS -- объект прочитан успешно (0)

GET_EOF -- файл закончился до прочтения объекта (-1)

GET_FAIL -- объект синтаксически некорректен (1)

Функция get() может считывать объекты Euphoria произвольной сложности. В файле могут содержаться длинные ряды величин, разделённых запятыми, в фигурных скобках и величины в кавычках, например, {23, {49, 57}, 0.5, -1, 99, 'A', "john"}. Единственный вызов get() будет читать данные в этом входном тексте и выдавать значение объекта как результат.

Каждый последующий вызов get() находит место, где остановился предыдущий. Например, серия из 5 вызовов get() будет нужна для прочтения следующей серии объектов:

99 5.2 {1,2,3} "Hello" -1.

Здесь, начиная с шестого вызова get() и во всех последующих, вы будете получать результат чтения GET_EOF. А если во входном тексте у вас будет что-либо вроде:

{1, 2, xxx} или {1+1, 2*2, 3-2},

то вы получите результат чтения GET_FAIL, так как xxx не является строковым представлением объекта Euphoria, а выражения на входе функции get() не допускаются.

Объекты "высшего уровня" во входном тексте должны быть отделены друг от друга одним или более символов "пробела" (пробел, знак табуляции, r или n). Эти "пробелы" игнорируются Euphoria внутри текстового представления объектов высшего уровня. Каждый вызов get() будет читать один входной объект высшего уровня плюс один добавочный символ "пробела", имеющегося между объектами.

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

Комбинация процедур print() и get() очень удобна для записи Euphoria-объектов на диск и последующего их чтения. Эта техника может быть использована для организации базы данных как одного или нескольких больших рядов Euphoria, размещённых в дисковых файлах. Ряды могут быть считаны в переменные, обновлены и затем записаны на диск после каждой завершённой серии транзакций. Не забывайте выводить символ "пробела" (используя puts()) после каждого вызова print().

Выдаваемые данные всегда имеют маловыразительный числовой формат, в котором строки представлены кодами ASCII.

Если результат чтения НЕ соответствует состоянию GET_SUCCESS (объект прочитан успешно), значение объекта не имеет смысла.

Пример:

Предположим, ваша программа предлагает пользователю ввести числа с клавиатуры.

-- если пользователь наберёт 77.5, функция get(0) выдаст:

{GET_SUCCESS, 77.5}, точнее {0, 77.5}

-- в то время как функция gets(0) выдала бы результат, эквивалентный:

"77.5n"

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

demomydata.ex

См. также:

print, value, gets, getc, prompt_number, prompt_string

get_active_page

Платформа:

DOS32

Синтаксис:

include image.e

i = get_active_page()

Описание:

Большинство видеоплат имеет графические режимы со множественными страницами памяти. Это позволяет вам записывать экранную информацию на одну страницу, а отображать в это же время другую страницу, уже готовую к просмотру. Функция get_active_page() выдаёт номер текущей страницы, на которую экранная информация записывается.

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

По умолчанию номер активной и отображаемой страницы один и тот же и равен 0, то есть пользователь видит собственно процесс записи экранной информации.

Функция video_config() покажет вам, сколько страниц доступно в текущем графическом режиме.

См. также:

set_active_page, get_display_page, video_config

get_all_palette

Платформа:

DOS32

Синтаксис:

include image.e

s = get_all_palette()

Описание:

Выдаёт ряд интенсивностей полного набора цветов в текущем графическом режиме. Ряд s имеет следующую форму:

{{r,g,b}, {r,g,b}, ..., {r,g,b}}

Каждый элемент содержит характеристику интенсивности цвета {красный (r), зелёный (g), синий (b)} для соответствующего номера цвета, начиная с номера 0. Величины для красного, зеленого и синего будут в пределах от 0 до 63. Заметьте, первый элемент ряда содержит характеристику цвета номер 0.

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

Эта функция может применяться, чтобы получить данные о палитре, необходимые для процедуры save_bitmap(). Не забудьте умножить эначения составляющих цветов на 4 перед вызовом save_bitmap(), так как save_bitmap() ожидает величин в пределах от 0 до 255.

См. также:

palette, all_palette, read_bitmap, save_bitmap, save_screen

get_bytes

Синтаксис:

include get.e

s = get_bytes(fn, i)

Описание:

Читает следующие i байтов из файла номер fn. Выдаёт байты в виде ряда. Ряд будет иметь длину i, исключая случаи, когда в файле для чтения остаётся меньше, чем i байтов.

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

Когда i > 0 и length(s) < i, это означает, что вы достигли конца файла. В конечном итоге функция выдаёт пустой ряд.

Эта функция обычно используется с файлами, открытыми на чтение в двоичном режиме, "rb". Данный приём позволяет избежать путаницы текстового режима "r", в котором DOS пребразует пары управляющих символов CR и LF в LF ("возврат каретки" + "перевод строки" в "перевод строки").

Пример:

include get.e

integer fn

fn = open("temp", "rb") -- существующий файл

sequence whole_file

whole_file = {}

sequence chunk

while 1 do

chunk = get_bytes(fn, 100) -- читает отрывок в 100 байтов за один вызов

whole_file &= chunk -- отрывок может быть пустым, это нормально

if length(chunk) < 100 then

exit

1 ... 21 22 23 24 25 26 27 28 29 ... 39
На этой странице вы можете бесплатно читать книгу Язык программирования Euphoria. Справочное руководство - W Cat бесплатно.
Похожие на Язык программирования Euphoria. Справочное руководство - W Cat книги

Оставить комментарий

Рейтинговые книги