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

Данная функция выдаёт текущую байтовую позицию в файле 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.


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

bin\search.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), так как верхний/нижний регистры не совпадают.


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

bin\search.ex

См. также:

wildcard_file, match, upper, lower, compare


wrap


Синтаксис:

include graphics.e

wrap(i)

Описание:

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

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

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

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

Пример:


puts(1, repeat('x', 100) & "\n\n")

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

wrap(0)

puts(1, repeat('x', 100) & "\n\n")

-- имеем только одну строку из 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


...

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

Все книги серии 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 имеет встроенную простую систему баз данных и обертки для работы с другими типам баз данных.[Материал из Википедии]

Коллектив авторов

Программирование, программы, базы данных

Похожие книги

Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ

Эта книга представляет собой перевод третьего издания американского бестселлера Effective C++ и является руководством по грамотному использованию языка C++. Она поможет сделать ваши программы более понятными, простыми в сопровождении и эффективными. Помимо материала, описывающего общую стратегию проектирования, книга включает в себя главы по программированию с применением шаблонов и по управлению ресурсами, а также множество советов, которые позволят усовершенствовать ваши программы и сделать работу более интересной и творческой. Книга также включает новый материал по принципам обработки исключений, паттернам проектирования и библиотечным средствам.Издание ориентировано на программистов, знакомых с основами C++ и имеющих навыки его практического применения.

Скотт Майерс , Скотт Мейерс

Программирование, программы, базы данных / Программирование / Книги по IT