stringtranslate.com

Конкатенация

В теории формального языка и компьютерном программировании конкатенация строк — это операция сквозного соединения строк символов . Например, сочетание слов «снег» и «мяч» — это «снежный ком». В некоторых формализациях теории конкатенации , также называемой теорией струн, конкатенация строк является примитивным понятием .

Синтаксис

Во многих языках программирования конкатенация строк представляет собой бинарный инфиксный оператор , а в некоторых она записывается без оператора. Это реализуется разными способами:

Выполнение

В программировании конкатенация строк обычно происходит во время выполнения, поскольку значения строк обычно неизвестны до времени выполнения. Однако в случае строковых литералов значения известны во время компиляции, и, таким образом, объединение строк может быть выполнено во время компиляции либо посредством объединения строковых литералов , либо посредством свертывания констант .

Объединение наборов строк

В теории формального языка и сопоставлении с образцом (включая регулярные выражения ) операция конкатенации строк обобщается до операции над наборами строк следующим образом:

Для двух наборов строк S1 и S2 конкатенация S1 S2 состоит из всех строк вида vw , где v — строка из S1 , а w строка из S2 , или формально S1 S2 = { vw  : vS 1 , шS 2 } . Многие авторы также используют конкатенацию набора строк и одной строки и наоборот, которые определяются аналогично S 1 w = { vw  : vS 1 } и vS 2 = { vw  : wS 2 } . В этих определениях строка vw представляет собой обычное объединение строк v и w , как определено во вводном разделе.

Например, если F = {a, b, c, d, e, f, g, h } и R = { 1, 2, 3, 4, 5, 6, 7, 8 } , то FR обозначает множество всех координат шахматной доски в алгебраических обозначениях , а e R обозначает множество всех координат кортежа королей .

В этом контексте наборы строк часто называют формальными языками. Оператор конкатенации обычно выражается как простое сопоставление (как и в случае с умножением ).

Алгебраические свойства

Строки в алфавите с помощью операции конкатенации образуют ассоциативную алгебраическую структуру с единичным элементом — нулевой строкойсвободным моноидом .

Наборы строк при конкатенации и чередовании образуют полукольцо , причем конкатенация (*) распределяется по чередованию (+); 0 — пустой набор , а 1 — набор, состоящий только из нулевой строки.

Приложения

Аудио/телефония

В программировании для телефонии конкатенация используется для предоставления пользователю динамической звуковой обратной связи. Например, в часах, говорящих «время суток» , конкатенация используется для определения правильного времени путем воспроизведения соответствующих записей, объединенных вместе. Например:

Сами записи существуют отдельно, но проигрывание их одна за другой дает слушателю грамматически правильное предложение.

Этот метод также используется в объявлениях о смене номера, системах голосовой почты или большинстве телефонных приложений, которые обеспечивают динамическую обратную связь с вызывающим абонентом (например, Moviefone , Tellme и другие).

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

Теория баз данных

Один из принципов проектирования реляционных баз данных заключается в том, что поля таблиц данных должны отражать одну характеристику предмета таблицы, то есть они не должны содержать составные строки. Если в отчете требуется объединение, оно должно быть предусмотрено во время запуска отчета. Например, чтобы отобразить физический адрес определенного клиента, данные могут включать номер здания, название улицы, номер подразделения здания, название города, название штата/провинции, почтовый индекс и название страны, например: «123 Fake St. Apt 4, Boulder, CO 80302, USA», который объединяет семь месторождений. Однако таблица данных клиентов не должна использовать одно поле для хранения этой объединенной строки; скорее, объединение семи полей должно произойти при запуске отчета. Причина таких принципов в том, что без них ввод и обновление больших объемов данных становится подверженным ошибкам и трудоемким. Отдельный ввод города, штата, почтового индекса и страны позволяет проверить ввод данных (например, обнаружить недопустимое сокращение штата). Затем эти отдельные элементы можно использовать для сортировки или индексирования записей, например, всех с «Боулдер» в качестве названия города.

Рекреационная математика

В развлекательной математике многие проблемы касаются свойств чисел при сцеплении их цифр в некотором основании . Примеры включают домашние простые числа (простые числа, полученные путем многократного факторизации возрастающей конкатенации простых множителей заданного числа), числа Смарандаша–Веллина (объединения первых простых чисел ), а также константы Чамперноуна и Коупленда–Эрдёша (действительные числа, образованные десятичные представления натуральных и простых чисел соответственно).

Смотрите также

Рекомендации

  1. ^ «Операторы конкатенации в Visual Basic». Руководство по .NET Visual Basic Возможности языка: операторы и выражения . Майкрософт. 2015.
  2. ^ «SQL | Оператор конкатенации» . geeksforgeeks.org . Проверено 11 августа 2023 г.
  3. ^ «Оператор конкатенации». Онлайн-документация по базе данных Oracle, 10g, выпуск 2 (10.2) / Администрирование: Справочник по SQL базы данных . Оракул.