Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Уникальная строка нулевой длины.
Unique string of length zero
В теории формальных языков пустая строка, или пустое слово, является единственной строкой нулевой длины.
In formal language theory, the empty string, or empty word, is the unique string of length zero.
Использование в языках программирования
В большинстве языков программирования строки являются типом данных. Строки обычно хранятся по разным адресам памяти (местоположениям). Таким образом, одна и та же строка (например, пустая строка) может храниться в двух или более местах в памяти. В результате, в памяти может существовать несколько пустых строк, в отличие от формального теоретического определения, согласно которому существует только одна возможная пустая строка. Однако функция сравнения строк покажет, что все эти пустые строки равны друг другу. Даже строка нулевой длины может требовать памяти для хранения, в зависимости от используемого формата. В большинстве языков программирования пустая строка отличается от нулевой ссылки (или нулевого указателя), поскольку нулевая ссылка не указывает ни на одну строку, даже на пустую. Пустая строка является допустимой строкой, для которой должны работать большинство строковых операций. Некоторые языки обрабатывают некоторые или все из следующих значений схожим образом: пустые строки, нулевые ссылки, целое число 0, число с плавающей точкой 0, логическое значение false, символ ASCII NUL или другие подобные значения. Пустая строка обычно представляется аналогично другим строкам. В реализациях с завершающим символом строки (строки, завершающиеся нулем, или обычные текстовые строки) пустая строка обозначается немедленным использованием этого завершающего символа. В разных языках существуют различные функции, методы, макросы или идиомы для проверки, является ли строка пустой. λ представление Языки программирования "" C, C#, C++, Go, Haskell, Java, JavaScript, Julia, Lua, M, Objective C (как C-строка), OCaml, Perl, PHP, Python, Ruby, Scala, Standard ML, Swift, Tcl, Visual Basic NET '' APL, Delphi, JavaScript, Lua, MATLAB, Pascal, Perl, PHP, Python, R, Ruby, Smalltalk, SQL character(0) R {'\0'} C, C++, Objective C (как C-строка) std::string C++ ""s C++ (начиная со стандарта 2014 года) @"" Objective C (как постоянный объект NSString) [NSString string] Objective C (как новый объект NSString) q, qq Perl str Python %{}% Ruby String::new Rust string.Empty C#, Visual Basic NET String.Make OCaml {} Tcl [[]] Lua
In most programming languages, strings are a data type. Strings are typically stored at distinct memory addresses (locations). Thus, the same string (for example, the empty string) may be stored in two or more places in memory. In this way, there could be multiple empty strings in memory, in contrast with the formal theory definition, for which there is only one possible empty string. However, a string comparison function would indicate that all of these empty strings are equal to each other. Even a string of length zero can require memory to store it, depending on the format being used. In most programming languages, the empty string is distinct from a null reference (or null pointer) because a null reference points to no string at all, not even the empty string. The empty string is a legitimate string, upon which most string operations should work. Some languages treat some or all of the following in similar ways: empty strings, null references, the integer 0, the floating point number 0, the Boolean value false, the ASCII character NUL, or other such values. The empty string is usually represented similarly to other strings. In implementations with string terminating character (null terminated strings or plain text lines), the empty string is indicated by the immediate use of this terminating character. Different functions, methods, macros, or idioms exist for checking if a string is empty in different languages. λ representation Programming languages "" C, C#, C++, Go, Haskell, Java, JavaScript, Julia, Lua, M, Objective C (as a C string), OCaml, Perl, PHP, Python, Ruby, Scala, Standard ML, Swift, Tcl, Visual Basic NET '' APL, Delphi, JavaScript, Lua, MATLAB, Pascal, Perl, PHP, Python, R, Ruby, Smalltalk, SQL character(0) R {'\0'} C, C++, Objective C (as a C string) std::string C++ ""s C++ (since the 2014 standard) @"" Objective C (as a constant NSString object) [NSString string] Objective C (as a new NSString object) q , qq Perl str Python %{}% Ruby String::new Rust string. Empty C#, Visual Basic NET String. make 0 ' ' OCaml {} Tcl [[]] Lua
Примеры пустых строк
Пустая строка — это синтаксически корректное представление нуля в позиционной системе счисления (в любой системе), не содержащее ведущих нулей. Поскольку пустая строка не имеет стандартного визуального представления вне формальной теории языков, число ноль традиционно представляется одной десятичной цифрой 0. Область памяти, заполненная нулями и интерпретируемая как строка, завершающаяся нулевым символом, является пустой строкой. Пустые строки текста отображают пустую строку. Это может возникать из-за двух последовательных символов конца строки, что часто встречается в текстовых файлах, и иногда используется в обработке текста для разделения абзацев, например, в MediaWiki.
The empty string is a syntactically valid representation of zero in positional notation (in any base), which does not contain leading zeros. Since the empty string does not have a standard visual representation outside of formal language theory, the number zero is traditionally represented by a single decimal digit 0 instead. Zero filled memory area, interpreted as a null terminated string, is an empty string. Empty lines of text show the empty string. This can occur from two consecutive EOLs, as often occur in text files, and this is sometimes used in text processing to separate paragraphs, e. g. in MediaWiki.