Строковые операторы

Конкатенация строк выполняется оператором . (да, просто точка). Естественно, сами строки при этом не изменяются – по аналогии с тем, как операция сложения 2+3 не изменяет операндов 2 и 3. Полученная (объединенная) строка используется в последующих вычислениях или присваивается переменной. Примеры:

"hello" . "world" # То же, что "helloworld"
"hello" . ' ' . "world" # То же, что 'hello world'
'hello world' . "\n" # То же, что "hello world\n"

Обратите внимание на необходимость присутствия оператора конкатенации (точки): в некоторых языках достаточно разместить два строковых значения рядом друг с другом. К категории строковых операторов относится оператор повторения строки, который представляется в виде одной строчной буквы x. Оператор берет левый операнд (строку) и создает конкатенацию ее экземпляров, заданных правым операндом (числом). Пример:

"fred" x 3 # "fredfredfred"
"barney" x (4+1) # "barney" × 5, или "barneybarneybarneybarneybarney"
5 × 4 # на самом деле "5" × 4, то есть "5555"

На последнем примере стоит остановиться подробнее. Оператор повторения строки ожидает получить левый операнд в строковом формате, поэтому число 5 преобразуется в строку "5" (по правилам, которые подробно описываются далее).


Созданная строка из одного символа копируется четыре раза, в результате чего создается строка из четырех символов 5555. Если переставить операнды 4×5, оператор создаст пять копий строки 4, то есть 44444. Пример наглядно показывает, что повторение строк некоммутативно. Количество копий (правый операнд) перед использованием усекается до целой части (4.8 превращается в 4). При количестве копий меньше создается пустая строка (строка нулевой длины).

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Perl на эту тему:
Автоматическое преобразование между числами и строками
Бинарные операторы присваивания
Вещественные литералы
Встроенные предупреждения Perl
Выбор имен переменных

Вернуться в раздел: Perl / 1. Скалярные данные