Считывает из файла 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
Комментарии:
Комбинация процедур print() и get() очень удобна для записи Euphoria-объектов на диск и последующего их чтения. Эта техника может быть использована для организации базы данных как одного или нескольких больших рядов Euphoria, размещённых в дисковых файлах. Ряды могут быть считаны в переменные, обновлены и затем записаны на диск после каждой завершённой серии транзакций. Не забывайте выводить символ "пробела" (используя puts()) после каждого вызова print().
Выдаваемые данные всегда имеют маловыразительный числовой формат, в котором строки представлены кодами ASCII.
Если результат чтения НЕ соответствует состоянию GET_SUCCESS (объект прочитан успешно), значение объекта не имеет смысла.
Пример:
Предположим, ваша программа предлагает пользователю ввести числа с клавиатуры.
-- если пользователь наберёт 77.5, функция get(0) выдаст:
{GET_SUCCESS, 77.5}, точнее {0, 77.5}
-- в то время как функция gets(0) выдала бы результат, эквивалентный:
"77.5\n"
Пример программы:
demo\mydata.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)
Описание: