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

Конкатенация строк выполняется оператором . (да, просто точка). Естественно, сами строки при этом не изменяются – по аналогии с тем, как операция сложения 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). При количестве копий меньше создается пустая строка (строка нулевой длины).
Теги:
скалярные данные
Добавлено: 19 Июля 2018 08:13:19 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...