Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Соединение строк в языке программирования
Операция над строками в компьютерном программировании
Конкатенация общих списков
Joining of strings in a programming language
the string operation of computer programming
concatenation of general lists
В теории формальных языков и компьютерном программировании конкатенация строк – это операция объединения строковых последовательностей символов друг с другом. Например, конкатенация строк "snow" и "ball" дает "snowball". В некоторых формализациях теории конкатенации, также называемой теорией струн, конкатенация строк является базовым понятием.
In formal language theory and computer programming, string concatenation is the operation of joining character strings end to end. For example, the concatenation of "snow" and "ball" is "snowball". In certain formalisations of concatenation theory, also called string theory, string concatenation is a primitive notion.
Синтаксис
Во многих языках программирования конкатенация строк является двоичным инфиксным оператором, а в некоторых она записывается без оператора. Это реализуется различными способами:
Перегрузка знака плюса +, например, в C#: "Hello, " + "World" имеет значение "Hello, World". Специальный оператор, такой как в PHP, & в Visual Basic и || в SQL. Это имеет преимущество перед повторным использованием +, поскольку позволяет неявно преобразовывать другие типы в строку. Конкатенация строковых литералов, что означает, что соседние строки объединяются без какого-либо оператора. Пример из C: "Hello, " "World" имеет значение "Hello, World".
In many programming languages, string concatenation is a binary infix operator, and in some it is written without an operator. This is implemented in different ways:
Overloading the plus sign + Example from C#: "Hello, " + "World" has the value "Hello, World". Dedicated operator, such as in PHP, & in Visual Basic and || in SQL. This has the advantage over reusing + that it allows implicit type conversion to string. string literal concatenation, which means that adjacent strings are concatenated without any operator. Example from C: "Hello, " "World" has the value "Hello, World".
Реализация
В программировании конкатенация строк обычно происходит во время выполнения, так как значения строк обычно неизвестны до времени выполнения. Однако в случае строковых литералов значения известны во время компиляции, и, следовательно, конкатенация строк может быть выполнена во время компиляции либо посредством конкатенации строковых литералов, либо посредством свёртки констант.
In programming, string concatenation generally occurs at run time, as string values are typically not known until run time. However, in the case of string literals, the values are known at compile time, and thus string concatenation can be done at compile time, either via string literal concatenation or via constant folding.
Алгебраические свойства
Строки над алфавитом с операцией конкатенации образуют ассоциативную алгебраическую структуру с единичным элементом – пустой строкой, то есть свободный моноид. Множества строк с конкатенацией и дизъюнкцией образуют полукольцо, где конкатенация (*) дистрибутивна относительно дизъюнкции (+); 0 – пустое множество, а 1 – множество, состоящее только из пустой строки.
The strings over an alphabet, with the concatenation operation, form an associative algebraic structure with identity element the null string—a free monoid. Sets of strings with concatenation and alternation form a semiring, with concatenation (*) distributing over alternation (+); 0 is the empty set and 1 the set consisting of just the null string.
Теория баз данных
Один из принципов проектирования реляционных баз данных заключается в том, что поля таблиц данных должны отражать единственную характеристику объекта таблицы, то есть не должны содержать объединенные строки. Если требуется объединение данных в отчете, оно должно выполняться непосредственно при формировании отчета. Например, для отображения физического адреса клиента данные могут включать номер дома, название улицы, номер квартиры, название города, название штата/провинции, почтовый индекс и название страны, например, "123 Fake St Apt 4, Boulder, CO 80302, USA", что представляет собой комбинацию семи полей. Однако таблица данных клиентов не должна использовать одно поле для хранения этой объединенной строки; вместо этого объединение семи полей должно происходить при формировании отчета. Причина таких принципов заключается в том, что без них ввод и обновление больших объемов данных становятся подвержены ошибкам и требуют значительных трудозатрат. Раздельный ввод города, штата, почтового индекса и страны позволяет осуществлять проверку вводимых данных (например, выявлять некорректные сокращения штатов). Затем эти отдельные элементы можно использовать для сортировки или индексации записей, например, для выбора всех записей с городом "Болдер".
One of the principles of relational database design is that the fields of data tables should reflect a single characteristic of the table's subject, which means that they should not contain concatenated strings. When concatenation is desired in a report, it should be provided at the time of running the report. For example, to display the physical address of a certain customer, the data might include building number, street name, building sub unit number, city name, state/province name, postal code, and country name, e. g., "123 Fake St Apt 4, Boulder, CO 80302, USA", which combines seven fields. However, the customers data table should not use one field to store that concatenated string; rather, the concatenation of the seven fields should happen upon running the report. The reason for such principles is that without them, the entry and updating of large volumes of data becomes error prone and labor intensive. Separately entering the city, state, ZIP code, and nation allows data entry validation (such as detecting an invalid state abbreviation). Then those separate items can be used for sorting or indexing the records, such as all with "Boulder" as the city name.
Математика для развлечений
В рекреационной математике многие задачи связаны со свойствами чисел при объединении их цифр в некоторой системе счисления. Примеры включают простые числа-«дома» (простые числа, получаемые путем последовательного разложения на множители возрастающей конкатенации простых множителей данного числа), числа Смарандеша — Уэллина (конкатенация первых простых чисел) и константы Чамперноуна и Копленда — Эрдоша (действительные числа, образованные десятичными представлениями положительных целых чисел и простых чисел соответственно).
In recreational mathematics, many problems concern the properties of numbers under concatenation of their numerals in some base. Examples include home primes (primes obtained by repeatedly factoring the increasing concatenation of prime factors of a given number), Smarandache–Wellin numbers (the concatenations of the first prime numbers), and the Champernowne and Copeland–Erdős constants (the real numbers formed by the decimal representations of the positive integers and the prime numbers, respectively).