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 имеет встроенную простую систему баз данных и обертки для работы с другими типам баз данных.
[Материал из Википедии]
Комментарии:
Ввод из файла с использованием функции getc() буферизируется, т.е. getc() не обращается к диску за каждым очередным символом. Напротив, большой блок символов сразу считывается в буфер, но из памяти буфера символы выдаются по одному.
Когда getc() читает с клавиатуры, никакие символы не будут видны, пока пользователь не нажмёт Enter. Заметьте, что набранное пользователем на клавиатуре сочетание control-Z трактуется операционной системой как "конец файла". В этом случае вместо кода символа будет выдана -1.
См. также:
gets, get_key, wait_key, open
getenv
Синтаксис:
x = getenv(s)
Описание:
Выдаёт значение переменной окружения DOS. Если переменная с именем, заданным в строковом ряде s, не определена, выдает -1.
Комментарии:
Так как функция может выдавать или ряд, или атом (-1), переменная, которой присваивается значение функции, должна быть объявлена как объект.
И аргумент, и выдаваемая величина могут быть или не быть чувствительными к регистру букв. Вы должны проверить это на своей системе.
Пример:
e = getenv("EUDIR")
-- e будет равно "C:\EUPHORIA" -- или, возможно, D:, E: и т.д.
См. также:
command_line
gets
Синтаксис:
x = gets(fn)
Описание:
Считывает и выдаёт очередной ряд символов из файла или с устройства fn (одну строку, включая '\n'). Коды символов будут иметь величины от 0 до 255. При достижении конца файла выдаётся атом -1.
Комментарии:
Так как функция выдаёт или ряд, или атом (-1), вы должны объявить как объект переменную, которой будет присвоено значение функции.
После чтения строки текста с клавиатуры вы обычно должны будете вывести символ окончания строки, '\n', т.е. подать команду puts(1, '\n'), прежде чем печатать что-либо другое. Иначе печать не начнётся от левого края экрана, а будет продолжаться вслед за той строкой, которая была введена с клавиатуры. Только при достижении конца последней строки экрана операционная система автоматически произведёт прокрутку экрана и переведёт курсор в начало следующей строки.
Последняя строка файла может не иметь символа перевода строки '\n' в конце.
Заметьте, что когда ваша программа читает с клавиатуры, набранное пользователем на клавиатуре сочетание control-Z трактуется операционной системой как "конец файла". В этом случае вместо кода символа будет выдана -1.
В режимах SVGA DOS может устанавливать неверную позицию курсора после вызова gets(0) для чтения с клавиатуры. Вы должны установить необходимую вам позицию сами, применив процедуру position().
Пример 1:
sequence buffer
object line
integer fn
-- читает текстовый файл в ряд
fn = open("myfile.txt", "r")
if fn = -1 then
puts(1, "Не могу открыть myfile.txt\n")
abort(1)
end if
buffer = {}
while 1 do
line = gets(fn)
if atom(line) then
exit -- -1 выдана в конце файла
end if
buffer = append(buffer, line)
end while
Пример 2:
object line
puts(1, "Как вас зовут?\n")
line = gets(0) -- читает стандартный вход (клавиатуру)
line = line[1..length(line)-1] -- удаляет символ \n в конце
puts(1, '\n') -- необходимо
puts(1, line & " - хорошее имя.\n")
См. также:
getc, puts, open
graphics_mode
Платформа:
DOS32
Синтаксис:
include graphics.e
i1 = graphics_mode(i2)
Описание:
Включает видеорежим i2. Просмотрите файл graphics.e, в котором имеется список доступных под управлением Euphoria пиксельных и текстовых видеорежимов. Если заданный режим включен успешно, i1 устанавливается в 0, в противном случае i1 устанавливается в 1.
Комментарии:
Некоторые видеорежимы называются текстовыми, так как в них может отображаться только текст и псевдографика. Другие видеорежимы называются пиксельными, потому что в них вы можете включать отдельные пикселы (элементы разрешения экрана), вычерчивать линии, эллипсы и т.д. и одновременно печатать текст.
Для более четкого возвращения в среду операционной системы обычно целесообразно перед завершением вашей программы перейти из пиксельного режима в стандартный исходный текстовый режим. Это можно сделать, вызвав функцию graphics_mode(-1). Если графическая программа приводит ваш экран в какое-то необычное беспорядочное состояние, вы можете очистить его с помощью команды DOS CLS, а также запустив интерпретатор ex.exe или редактор ed.
Некоторые видеоплаты иногда могут быть не в состоянии обеспечить вполне правильную работу в отдельных режимах SVGA, хотя при программном включении этого режима вы и получили величину i1, соответствующую успешному включению. Данную ошибку крайне трудно выявить без тестирования программы на конкретном оборудовании, так как стандартизация режимов SVGA и параметров новейших видеоплат далека от завершения.
На платформах WIN32 и Linux/FreeBSD Euphoria исполняет команду graphics_mode(), для любого i2 выводя обычную текстовую консоль, если этой консоли ещё нет. Функция всегда выдаёт 0, не имеет значения, какое i2 в неё подано.
Пример:
if graphics_mode(18) then
puts(SCREEN, "требуется графика VGA!\n")
abort(1)
end if
draw_line(BLUE, {{0,0}, {50,50}})
См. также:
text_rows, video_config
...
от H до O
instance
Платформа:
WIN32
Синтаксис:
include misc.e
i = instance()
Описание:
Выдаёт идентификатор текущей программы.
Комментарии:
Этот идентификатор представляет собой число, вырабатываемое операционной системой, и может быть подан в различные функции Windows, выдающие сведения о текущей исполняемой программе, т.е. о вашей программе. Каждый раз, когда пользователь запускает вашу программу, будет вырабатываться другой идентификатор экземпляра (образца) программы.
В языке Си это первый аргумент при вызове функции WinMain().
На платформах DOS32 и Linux/FreeBSD instance() всегда выдаёт 0.
См. также:
platform.doc
int_to_bits
Синтаксис:
include machine.e
s = int_to_bits(a, i)
Описание:
Выдаёт i младших битов атома a как ряд единиц и нулей. В этом ряде младшие значащие биты идут первыми. Для отрицательных чисел выдаётся двоичное дополнение.
Комментарии:
, , and/or/xor/not
Вы можете использовать индексирование, сечение, операторы and/or/xor/not для обработки выходного ряда, т.е. манипулировать рядами битов по своему усмотрению. При необходмости могут быть легко осуществлены обычные и циклические сдвиги битов, а также другие преобразования.
Пример:
s = int_to_bits(177, 8)
-- s будет равно {1,0,0,0,1,1,0,1} -- "обратный" порядок
См. также:
bits_to_int, and_bits, or_bits, xor_bits, not_bits, операции на рядах
int_to_bytes
Синтаксис:
include machine.e
s = int_to_bytes(a)
Описание:
Преобразует целое в ряд, состоящий из 4 байтов. Эти байты идут в порядке, предусмотренном на машинах 386+, т.е. младший значащий байт идет первым.
Комментарии:
Вы можете воспользоваться этой процедурой перед засылкой 4 байтов в память при работе с программой на машинном языке.
Целое может быть отрицательным. При этом будут выданы отрицательные значения для величин байтов, но после засылки их в память вы получите правильное представление (двоичное дополнение), принятое на машинах 386+.
Эта функция будет правильно преобразовывать целочисленные величины, включая 32-битные и менее. Для больших величин преобразуются только младшие 32 бита. Тип целых в Euphoria может иметь величину не более 31 бита, так что объявляйте ваши переменные как атом, если вам нужны более широкие пределы величин.
Пример 1:
s = int_to_bytes(999)
-- s будет равно {231, 3, 0, 0}
Пример 2:
s = int_to_bytes(-999)
-- s будет равно {-231, -4, -1, -1}
См. также:
bytes_to_int, int_to_bits, bits_to_int, peek, poke, poke4
integer
Синтаксис:
i = integer(x)
Описание:
Выдаёт 1, если x является целым в пределах от -1073741824 до +1073741823. В противном случае выдаёт 0.
Комментарии:
Данная команда служит для объявления переменной типа integer. Вы можете также использовать её и как функцию для проверки, какого типа объект перед вами, не целое ли это число.
Пример 1:
integer z
z = -1
Пример 2:
if integer(y/x) then
puts(SCREEN, "y кратно x")
end if
См. также:
atom, sequence, floor
length
Синтаксис:
i = length(s)
Описание:
Выдаёт длину ряда s. Переменная s должна быть именно типа ряд. В случае, если s является атомом, возникает ошибка времени исполнения с остановкой программы и выводом сообщения.
Комментарии:
Значение текущей длины каждого ряда сохраняется интерпретатором во внутреннем формате для осуществления быстрого доступа.
Пример 1:
length({{1,2}, {3,4}, {5,6}}) -- 3
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!
Похожие книги на "Язык программирования Euphoria. Справочное руководство"
Книги похожие на "Язык программирования Euphoria. Справочное руководство" читать онлайн или скачать бесплатно полные версии.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Отзывы о "W Cat - Язык программирования Euphoria. Справочное руководство"
Отзывы читателей о книге "Язык программирования Euphoria. Справочное руководство", комментарии и мнения людей о произведении.