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

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

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

VC_LINES = 3,

VC_COLUMNS = 4,

VC_XPIXELS = 5,

VC_YPIXELS = 6,

VC_NCOLORS = 7,

VC_PAGES = 8

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

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

На компьютерах можно встретить два типа графических режимов. Первый тип, текстовый режим, позволяет выводить на экран только лишь текст. Второй тип, пиксельно-графический режим, позволяет выводить пикселы, или точки, в различных цветах, а одновременно и текст. Вы можете сказать, что система находится в текстовом режиме, если элементы текущей конфигурации VC_XPIXELS и VC_YPIXELS равны 0. Такие библиотечные процедуры как polygon(), draw_line() и ellipse() работают только в пиксельно-графическом режиме.

Пример:

vc = video_config() -- в режиме 3 с 25-ю строками текста:

-- vc равно {1, 3, 25, 80, 0, 0, 32, 8}

См. также:

graphics_mode

wait_key

Синтаксис:

include get.e

i = wait_key()

Описание:

Выдаёт код клавиши, нажатой пользователем на клавиатуре. Код выдаётся в момент нажатия клавиши.

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

Вы можете получить тот же самый результат с get_key(), если напишете:

while 1 do

k = get_key()

if k != -1 then

exit

end if

end while

Однако на многозадачных системах, подобных Windows или Linux/FreeBSD, такое "занятое ожидание" с get_key() будет снижать производительность системы. Функция же wait_key() позволяет операционной системе выполнять другую полезную работу, пока ваша программа ожидает нажатия на клавишу.

Вы можете использовать также getc(0), так как файлу номер 0 соответствует ввод с клавиатуры, но при этом не будут вырабатываться специальные коды от функциональных клавиш, клавиш со стрелками, коды клавиш на русском регистре и т.п. Данное ограничение для getc(0) действует только в официальных интерпретаторах RDS при вводе с клавиатуры, в двуязычных интерпретаторах оно снято.

См. также:

get_key, getc

walk_dir

Синтаксис:

include file.e

i1 = walk_dir(st, i2, i3)

Описание:

Данная подпрограмма "пройдётся" по каталогу, имя которого задано в ряде st, и будет в этом каталоге обрабатывать файлы. i2 является номером той функции, которую вы хотите применить для обработки файлов каталога. walk_dir() может вызывать вашу функцию обработки файлов для каждого файла и подкаталога в st. Если i3 не равно 0 (TRUE), подкаталоги в st будут пройдены рекурсивно.

Функция, которую вы применяете для обработки файлов, должна воспринимать имена путей и входы dir() для каждого файла и подкаталога. Она должна также выдавать 0 для продолжения прохождения после успешного окончания работы с файлом или не-ноль, чтобы остановить выполнение walk_dir().

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

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

По умолчанию файлы и каталоги будут пройдены в алфавитном порядке. Если вам необходим другой порядок, установите соответствующим образом глобальную переменную my_dir для номера своей собственной модифицированной функции dir(), которая должна сортировать входы каталога в необходимом вам порядке. Просмотрите для уяснения деталей текст исходной функции dir() в файле file.e.

Имя пути, которое вы подаёте в walk_dir(), не должно содержать символов догадок (* или ?). При каждом вызове функция работает только с единственным каталогом (и его подкаталогами), имя которого подано в неё в качестве аргумента.

Пример:

function look_at(sequence path_name, sequence entry)

-- данная функция воспринимает два ряда как аргументы

printf(1, "%s\%s: %dn",

{path_name, entry[D_NAME], entry[D_SIZE]})

return 0 -- проход продолжается

end function

exit_code = walk_dir("C:\MYFILES", routine_id("look_at"), TRUE)

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

euphoriabinsearch.ex

См. также:

dir, current_dir

where

Синтаксис:

include file.e

a1 = where(fn)

Описание:

Данная функция выдаёт текущую байтовую позицию в файле fn. Байтовая позиция обновляется при чтении, записи или переходах в файле. Эта позиция даёт место в файле, где очередной байт буден прочитан или записан.

См. также:

seek, open

wildcard_file

Синтаксис:

include wildcard.e

i = wildcard_file(st1, st2)

Описание:

Выдаёт 1 (истина), если имя файла st2 совпало с вашей догадкой (маской, шаблоном) st1. Выдаёт 0 (ложь) в противном случае. Данная функция похожа на ту, которая имеется в DOS для шаблонных операций, но в некоторых случаях лучше неё. Символ догадки '*' означает 0 или более символов, допустимых в именах файлов, символ догадки '?' означает единственный любой из допустимых символов. Под Linux и FreeBSD сравнение символов чувствительно к регистру, то есть, строчные и прописные буквы не равнозначны. Под DOS и Windows - не чувствительно, строчные и прописные буквы равнозначны.

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

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

В функции DOS "*ABC.*" дает шаблон для всех файлов. Функция же wildcard_file("*ABC.*", s) выделит те файлы, имя которых заканчивается буквами "ABC" (как вы и ожидаете).

Пример 1:

i = wildcard_file("AB*CD.?", "aB123cD.e")

-- i будет равно 1 под DOS или Windows, но будет равно 0 под Linux или FreeBSD

Пример 2:

i = wildcard_file("AB*CD.?", "abcd.ex")

-- i будет равно 0 под всеми системами, так как расширение имени

-- файла содержит 2 символа, а не 1.

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

binsearch.ex

См. также:

wildcard_match, dir

wildcard_match

Синтаксис:

include wildcard.e

i = wildcard_match(st1, st2)

Описание:

Данная функция выполняет общее сравнение строки с образцом, который может содержать и символы догадок '*' и '?'. Функция выдаёт 1 (истина), если строка st2 совпадает с образцом st1. В противном случае выдаётся 0 (ложь). Символ догадки '*' означает любые 0 или более символов. Символ догадки '?' означает любой единственный символ. Сравнение чувствительно к регистру, то есть, строчные и прописные буквы различаются.

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

Если вам необходимо нечувствительное к регистру сравнение, подайте оба ряда st1 и st2 в функцию upper() или lower() перед вызовом wildcard_match().

Если вам необходимо обнаружить образец в любом месте внутри исследуемой строки, добавьте символ '*' к обоим концам образца:

i = wildcard_match('*' & pattern & '*', string)

В настоящее время нет пока способа задать собственно символы '*' или '?' в образце так, чтобы они не выполняли свою роль догадок.

Пример 1:

i = wildcard_match("A?B*", "AQBXXYY")

-- i будет равно 1 (TRUE)

Пример 2:

i = wildcard_match("*xyz*", "AAAbbbxyz")

-- i будет равно 1 (TRUE)

Пример 3:

i = wildcard_match("A*B*C", "a111b222c")

-- i будет равно 0 (FALSE), так как верхний/нижний регистры не совпадают.

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

binsearch.ex

См. также:

wildcard_file, match, upper, lower, compare

wrap

Синтаксис:

include graphics.e

wrap(i)

Описание:

Разрешает в тексте перенос на следующую строку при достижении правого поля (i = 1) или отсекает слишком длинные строки (i = 0).

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

По умолчанию разрешён перенос.

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

Пример:

puts(1, repeat('x', 100) & "nn")

-- имеем строку из 80 'x', а ниже строку из 20 'x'

wrap(0)

puts(1, repeat('x', 100) & "nn")

-- имеем только одну строку из 80 'x'.

См. также:

puts, position

xor_bits

Синтаксис:

x3 = xor_bits(x1, x2)

Описание:

Выполняет логическую операцию XOR (исключающее ИЛИ) над соответствующими битами в x1 и x2. Бит x3 будет равен 1, когда один из соответствующих битов в x1 или x2 равен 1, в других случаях будет равен 0.

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

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

Аргументы должны быть представимы 32-битными числами, со знаком или без знака.

Если вы намерены манипулировать полными 32-битными величинами, вы должны объявить ваши переменные как atom, но не как integer. Тип integer в Euphoria ограничен 31-м битом.

Результаты трактуются как числа со знаком. Они будут отрицательными, когда старший бит равен 1.

Пример:

a = xor_bits(#0110, #1010)

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

См. также:

and_bits, or_bits, not_bits, int_to_bits, int_to_bytes

...

Назад 1 ... 35 36 37 38 39 Вперед
Перейти на страницу:

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

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


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

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


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

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

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


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