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

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

Читать бесплатно W Cat - Язык программирования Euphoria. Справочное руководство. Жанр: Программирование издательство неизвестно, год 2004. Так же читаем полные версии (весь текст) онлайн без регистрации и SMS на сайте kniga-online.club или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

Пример 1:

rate = 7.875

printf(myfile, "The interest rate is: %8.2fn", rate)

The interest rate is: 7.88

Пример 2:

name="John Smith"

score=97

printf(1, "%15s, %5dn", {name, score})

John Smith, 97

Пример 3:

printf(1, "%-10.4s $ %s", {"ABCDEFGHIJKLMNOP", "XXX"})

ABCD $ XXX

Пример 4:

printf(1, "%d %e %f %g", 7.75) -- одна и та же величина в разных форматах

7 7.750000e+000 7.750000 7.75

См. также:

sprintf, puts, open

profile

Синтаксис:

profile(i)

Описание:

Включает или выключает режим профилирования во время исполнения программы. Команда действует в отношении обоих профилей, профиля команд (операций) и профиля времени. Если i равно 1, профилирование включается, генерируется отчёт. Если i равно 0, профилирование выключается, отчёт не создаётся.

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

По командам "with profile" ("с профилем операций") или "with profile_time" ("с профилем времени") профилирование включается автоматически. Используйте profile(0), чтобы выключить его. Используйте затем profile(1) для включения профилирования именно в том месте программы, начиная с которого оно вам необходимо.

Пример 1:

with profile_time

profile(0)

...

procedure slow_routine()

profile(1)

...

profile(0)

end procedure

См. также:

trace, profiling, special top-level statements

prompt_number

Синтаксис:

include get.e

a = prompt_number(st, s)

Описание:

Приглашает пользователя ввести число с клавиатуры. st является текстовой строкой с приглашением, которая отображается на экране. s является рядом, состоящим из двух величин {меньшая, большая}, определяющих диапазон величин, которые пользователь вправе ввести. Если пользователь выйдет из этого диапазона допустимых значений, приглашение повторяется. s может быть пустым рядом, {}, если ограничений нет.

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

Если данная процедура слишком проста и не отвечает вашим потребностям, не стесняйтесь скопировать её и затем сделать из неё свою собственную более специализированную версию.

Пример 1:

age = prompt_number("Сколько вам лет? ", {0, 150})

Пример 2:

t = prompt_number("Введите температуру по Цельсию:n", {})

См. также:

get, prompt_string

prompt_string

Синтаксис:

include get.e

s = prompt_string(st)

Описание:

Приглашает пользователя ввести строку текста. st включает в себя текст приглашения, отображаемый на экране. Строка, которую ввёл пользователь, размещается в ряде s за вычетом любых служебных символов перевода строки и возврата каретки.

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

Если пользователь введет control-Z (метка конца файла), s получит значение "" - пустого ряда.

Пример:

name = prompt_string("Как вас зовут? ")

См. также:

gets, prompt_number

put_screen_char

Синтаксис:

include image.e

put_screen_char(i1, i2, s)

Описание:

Выводит ноль или более символов на экран вместе с их атрибутами. i1 определяет строку, а i2 - колонку, где должен быть выведен первый из символов. Ряд s выглядит следующим образом: {ascii-код1, атрибут1, ascii-код2, атрибут2, ...}. Каждая пара элементов ряда описывает один символ. Атом ascii-код содержит код ASCII символа. Атом атрибутов содержит информацию о цвете символа, цвете фона и, возможно, другие платформенно-зависимые данные, управляющие внешним видом символа на экране.

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

Длина s должна быть кратна 2. Если s имеет длину 0, на экран не будет ничего выводиться. Более быстро выводятся несколько символов в одном вызове put_screen_char(), чем поочерёдно в цикле по одному на вызов.

Пример:

-- записывает AZ в верхний левый угол экрана

-- (атрибуты зависят от платформы)

put_screen_char(1, 1, {'A', 152, 'Z', 131})

См. также:

get_screen_char, display_text_image

puts

Синтаксис:

puts(fn, x)

Описание:

Выводит в файл или на устройство fn единственный байт (атом) или ряд байтов. Выводятся только младшие 8 битов каждой из величин, подаваемых в процедуру. Если fn - экран, вы увидите вывод символов текста.

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

Когда выводится ряд байтов, внутри ряда не должно быть вложенных рядов. Этот ряд должен состоять только лишь из атомов. (В типовом случае ряд кодов ASCII).

Избегайте наличия нулей среди кодов, выводимых на экран или стандартный выход. Такой вывод может быть усечён.

Не забывайте, что если файл для вывода был открыт в текстовом режиме, DOS и Windows будут заменять n (10) на rn (13 10). Открывайте файл в двоичном режиме, если вам не нужны подобные услуги.

Пример 1:

puts(SCREEN, "Введите своё имя: ")

Пример 2:

puts(output, 'A') -- на вывод будет послан единственный байт 65

См. также:

printf, gets, open

rand

Синтаксис:

x2 = rand(x1)

Описание:

Выдаёт случайное целое в пределах от 1 до x1, где x1 может быть от 1 до наибольшей допустимой положительной величины типа integer (1073741823).

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

Данная функция применима к атому или ко всем элементам ряда.

Пример:

s = rand({10, 20, 30})

-- s может быть: {5, 17, 23} или {9, 3, 12} и т.д.

См. также:

set_rand

read_bitmap

Синтаксис:

include image.e

x = read_bitmap(st)

Описание:

Читает файл изображения в ряд. st является именем .bmp-файла - "биткарты". Файл должен быть именно в формате bitmap. Поддерживается большинство общих вариаций этого формата. Если файл прочитан успешно, результатом будет 2-элементный ряд. Первым элементом будет палитра, содержащая величины интенсивностей цветов в диапазоне от 0 до 255. Вторым элементом будет 2-х мерный ряд, содержащий собственно пиксельно-графическое изображение. Вы можете подать полученную палитру в процедуру all_palette() (после деления её на 4 для правильного масштабирования). Ряд с изображением может быть подан в процедуру display_image() для вывода на экран.

Поддерживаются биткарты с 2, 4, 16 или 256 цветами. Если файл имеет негодный формат, вместо изображения выдаётся код ошибки (atom):

global constant BMP_OPEN_FAILED = 1,

BMP_UNEXPECTED_EOF = 2,

BMP_UNSUPPORTED_FORMAT = 3

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

Необходимые вам изображения в формате bitmap вы можете создавать, используя графический редактор Paintbrush из пакета Windows или многие другие графические программы. Эти изображения затем могут быть включены в ваши программы, написанные на Euphoria.

Пример:

x = read_bitmap("c:\windows\arcade.bmp")

-- примечание: двойная косая черта в адресе файла необходима,

-- чтобы в операционную систему была выдана штатная одинарная

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

demodos32bitmap.ex

См. также:

palette, all_palette, display_image, save_bitmap

register_block

Синтаксис:

include machine.e (or safe.e)

register_block(a, i)

Описание:

Регистрирует (добавляет) участок памяти в списке безопасных блоков, поддерживаемом библиотекой safe.e (отладочная версия machine.e). Блок начинается с адреса a. Длина блока составляет i байтов.

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

Данная процедура предназначена только для отладочных целей. Библиотека safe.e регистрирует и отслеживает блоки памяти, которые вашей программе разрешено использовать в подпрограммах peek(), poke(), mem_copy() и т.п. Процедура нормально работает только с теми участками памяти, которые выделены вами для своих целей путем выполнения команд Euphoria allocate() или allocate_low() и которые еще не освобождены с помощью команд Euphoria free() или free_low(). В некоторых случаях вы можете затребовать добавочные, внешние, участки памяти, например, в результате вызова функции Си. Если вы отлаживаете вашу программу с использованием safe.e, вы должны также регистрировать эти внешние участки памяти, иначе safe.e будет препятствовать вашему доступу к ним. Когда вы закончите использование внешнего блока, вы сможете отменить его регистрацию с помощью команды unregister_block().

Когда вы включаете machine.e, у вас вызываются другие версии процедур register_block() и unregister_block(), которые не производят никаких операций. Подобный приём делает простыми и лёгкими переходы между отладочным и штатным режимами исполнения вашей программы.

Пример :

atom addr

addr = c_func(x, {})

register_block(addr, 5)

poke(addr, "ABCDE")

unregister_block(addr)

См. также:

unregister_block, safe.e

remainder

Синтаксис:

x3 = remainder(x1, x2)

Описание:

Вычисляет остаток от деления x1 на x2. Результат будет иметь тот же знак, что и x1, а величина результата будет меньше, чем величина x2.

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

Аргументы, подаваемые в эту функцию, могут быть атомами или рядами. В случае рядов применяются правила действий с рядами.

Пример 1:

a = remainder(9, 4)

-- a будет равно 1

Пример 2:

s = remainder({81, -3.5, -9, 5.5}, {8, -1.7, 2, -4})

Перейти на страницу:

W Cat читать все книги автора по порядку

W Cat - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки kniga-online.club.


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

Отзывы читателей о книге Язык программирования Euphoria. Справочное руководство, автор: W Cat. Читайте комментарии и мнения людей о произведении.


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор kniga-online.


Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*