Читать «Язык программирования Euphoria. Справочное руководство» онлайн - страница 106

Автор неизвестен

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

Если вам необходимо нечувствительное к регистру сравнение, подайте оба ряда 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

...