Выбрать книгу по жанру
Фантастика и фэнтези
- Боевая фантастика
- Героическая фантастика
- Городское фэнтези
- Готический роман
- Детективная фантастика
- Ироническая фантастика
- Ироническое фэнтези
- Историческое фэнтези
- Киберпанк
- Космическая фантастика
- Космоопера
- ЛитРПГ
- Мистика
- Научная фантастика
- Ненаучная фантастика
- Попаданцы
- Постапокалипсис
- Сказочная фантастика
- Социально-философская фантастика
- Стимпанк
- Технофэнтези
- Ужасы и мистика
- Фантастика: прочее
- Фэнтези
- Эпическая фантастика
- Юмористическая фантастика
- Юмористическое фэнтези
- Альтернативная история
Детективы и триллеры
- Боевики
- Дамский детективный роман
- Иронические детективы
- Исторические детективы
- Классические детективы
- Криминальные детективы
- Крутой детектив
- Маньяки
- Медицинский триллер
- Политические детективы
- Полицейские детективы
- Прочие Детективы
- Триллеры
- Шпионские детективы
Проза
- Афоризмы
- Военная проза
- Историческая проза
- Классическая проза
- Контркультура
- Магический реализм
- Новелла
- Повесть
- Проза прочее
- Рассказ
- Роман
- Русская классическая проза
- Семейный роман/Семейная сага
- Сентиментальная проза
- Советская классическая проза
- Современная проза
- Эпистолярная проза
- Эссе, очерк, этюд, набросок
- Феерия
Любовные романы
- Исторические любовные романы
- Короткие любовные романы
- Любовно-фантастические романы
- Остросюжетные любовные романы
- Порно
- Прочие любовные романы
- Слеш
- Современные любовные романы
- Эротика
- Фемслеш
Приключения
- Вестерны
- Исторические приключения
- Морские приключения
- Приключения про индейцев
- Природа и животные
- Прочие приключения
- Путешествия и география
Детские
- Детская образовательная литература
- Детская проза
- Детская фантастика
- Детские остросюжетные
- Детские приключения
- Детские стихи
- Детский фольклор
- Книга-игра
- Прочая детская литература
- Сказки
Поэзия и драматургия
- Басни
- Верлибры
- Визуальная поэзия
- В стихах
- Драматургия
- Лирика
- Палиндромы
- Песенная поэзия
- Поэзия
- Экспериментальная поэзия
- Эпическая поэзия
Старинная литература
- Античная литература
- Древневосточная литература
- Древнерусская литература
- Европейская старинная литература
- Мифы. Легенды. Эпос
- Прочая старинная литература
Научно-образовательная
- Альтернативная медицина
- Астрономия и космос
- Биология
- Биофизика
- Биохимия
- Ботаника
- Ветеринария
- Военная история
- Геология и география
- Государство и право
- Детская психология
- Зоология
- Иностранные языки
- История
- Культурология
- Литературоведение
- Математика
- Медицина
- Обществознание
- Органическая химия
- Педагогика
- Политика
- Прочая научная литература
- Психология
- Психотерапия и консультирование
- Религиоведение
- Рефераты
- Секс и семейная психология
- Технические науки
- Учебники
- Физика
- Физическая химия
- Философия
- Химия
- Шпаргалки
- Экология
- Юриспруденция
- Языкознание
- Аналитическая химия
Компьютеры и интернет
- Базы данных
- Интернет
- Компьютерное «железо»
- ОС и сети
- Программирование
- Программное обеспечение
- Прочая компьютерная литература
Справочная литература
Документальная литература
- Биографии и мемуары
- Военная документалистика
- Искусство и Дизайн
- Критика
- Научпоп
- Прочая документальная литература
- Публицистика
Религия и духовность
- Астрология
- Индуизм
- Православие
- Протестантизм
- Прочая религиозная литература
- Религия
- Самосовершенствование
- Христианство
- Эзотерика
- Язычество
- Хиромантия
Юмор
Дом и семья
- Домашние животные
- Здоровье и красота
- Кулинария
- Прочее домоводство
- Развлечения
- Сад и огород
- Сделай сам
- Спорт
- Хобби и ремесла
- Эротика и секс
Деловая литература
- Банковское дело
- Внешнеэкономическая деятельность
- Деловая литература
- Делопроизводство
- Корпоративная культура
- Личные финансы
- Малый бизнес
- Маркетинг, PR, реклама
- О бизнесе популярно
- Поиск работы, карьера
- Торговля
- Управление, подбор персонала
- Ценные бумаги, инвестиции
- Экономика
Жанр не определен
Техника
Прочее
Драматургия
Фольклор
Военное дело
Введение в Perl - Маслов Владимир Викторович - Страница 8
Оператор !~ аналогичен =~ только результат совпадения инвентируется (логическое «нет»). Подробное применение этих операторов приводится в главе «Патерны».
'*' – арифметическое умножение
'/' – арифметическое деление
'%' – арифметический модуль
'x' – оператор повторения
В скалярном контексте возвращает строку левой части повторенную величиной указанной в правой части. В списковом контексте, если в левой части список в круглых скобках – повторенный список.
Пример:
print '*' x 5; # Результат '*****'
print (1,2) x 3; # Результат 121212
'+' – арифметический плюс
'-' – арифметический минус
'.' – конкатенация (объединение) строк
'<<' – Сдвигает побитно влево значение выражения в левой части на количество бит указанное в правой.
'>>' – Сдвигает побитно вправо значение выражения в левой части на количество бит указанное в правой.
Фактически это функции с одним аргументом. Круглые скобки можно опускать.
Операторы отношений.
'<' – арифметическое меньше
'>' – арифметическое больше
'<=' – арифметическое меньше или равно
'>=' – арифметическое больше или равно
'lt' – строковое меньше
'gt' – строковое больше
'le' – строковое меньше или равно
'ge' – строковое больше или равно
'==' результат true если левая часть равна правой (равно)
'!=' – не равно
'<=>' – -1 если левая часть меньше правой, 0 если равна, 1 если больше.
'eq' – строковое равно
'ne' – строковое не равно
'cmp' – как и '<=>' применительно к строкам
'&' – побитное AND
'|' – побитное OR
'^' – побитное XOR
'&&' – если левое выражение возвращает false, правое не выполняется.
'||' – если левое выражение возвращает true, правое не выполняется.
Отличие от подобных операторов в С заключается в том, что в С возращаемое значение либо 0 либо 1. Тогда как в Перл возвращается результат выражения.
Результат работы данного оператора зависит от контекста. В списковом контексте результат есть список с элементами. Первый элемент которого это левое выражение и последнее – правое.
Значение каждого элемента внутри списка увеличивается на 1.
Данный оператор удобен для небольших циклов т.к. память отводится для всего списка целиком. Поэтому будьте внимательны и не задавайте слишком большой диаппазон.
Пример:
for $i (1..4)
{ print "$i ";
}
Результат: 1 2 3 4
В скалярном контексте результат – логическое значение. Каждая '..' операция устанавливает свое собственное состояние. Это false до тех пор пока левый операнд false. Как только левый операнд стал true результат – true до тех пока правый true, после чего результат опять – false. Если вы не хотите проверять правый операнд то используйте оператор '...'.
Правый операнд не вычисляется пока результат false и левый операнд не вычисляется пока пока результат true. Приоритетность оператора '..' немного ниже чем '&&' и '||'. Возвращаемое значение если flase – нулевая строка, если true – порядковый номер начиная с 1. Порядковый номер обнуляется для каждого нового диаппазона.
Последний порядковый номер добавляется строкой "E0" которая не изменяет его значение но позволяет фиксировать последнее значение.
Пример:
@алфавит = ('a'..'z'); # Массив малых букв латинского алфавита
@цифры = (0..9); # Массив цифр
Этот оператор работает так же как и в С. Если выражение перед '?' истинно то выполняется аргумент перед ':' – иначе после ':'.
Пример:
$i = 1;
$i > 1 ? print «больше» : print «меньше»;
Результат: меньше
'=' – обычный оператор «присвоить» правое значение переменной слева Вся эта группа операторов подобна операторам С т.е.
$i += 2;
эквивалентно
$i = $i + 2;
Остальные операторы этой группы работают аналогично.
Допустимы следующие операторы:
**=
+= -= .=
*= /= %= x=
&= |= ^=
<<= >>=
&&= ||=
Приоритет всей этой группы операторов равен приоритету '='.
В скалярном контексте выполняется левый аргумент, результат игнорируется затем правый и его результат есть результат действия оператора.
В списковом контексте это разделитель элементов списка который включает указанные элементы в список.
Унарный not возвращает противоположное значение полученное выражением справа. Он эквивалентен '!' но имеет очень низкий приоритет.
Выполняет логическую конъюнкцию двух выражений. Эквивалентен '&&' но имеет очень низкий приоритет и «краткость» действия. т.е если левое выражение равно false – левое не выполняется.
Выполняет логическую дизъюнкцию двух выражений. Эквивалентен '||', но имеет очень низкий приоритет и «краткость» действия. т.е если левое выражение равно true – левое не выполняется.
Выполняет логическое исключающие или. Всегда выполняются оба правое и левое выражение.
В Перл отсутсвуют операторы языка С такие как:
унарное & – получить адрес. Для этого применяется '\'.
унарный * – переадресация.
(TYPE) – совмещение типов.
Обычно ограничители строк мы считаем литералами, но в Перл это операторы выполняющие разного рода интерполяцию и поиск по шаблону. Вы можете сами задавать удобные для вас ограничители. В следующей таблице приведен полный перечень вариантов. Фигурные скобки '{}' обозначают любой символ используемый для ограничителя. В случае использования скобок (круглых '()', квадратных '[]', фигурных '{}', угловых '<>') в начале ставится открывающаяся скобка а в конце закрывающая.
- Предыдущая
- 8/20
- Следующая