Глава 2. Строки

Глава 2. Строки

Когда-то элементарными кирпичиками мироздания считались атомы, потом протоны, потом кварки. Теперь таковыми считаются струны[7].

Дэвид Гросс, профессор теоретической физики,

Принстонский университет

В начале 1980-х годов один профессор информатики, начиная первую лекцию по структурам данных, не представился студентам, не сказал, как называется курс, не рассказал о его программе и не порекомендовал никаких учебников — а вместо этого сходу спросил: «Какой тип данных самый важный?»

Было высказано несколько предположений. Когда профессор услышал слово «указатели», он выразил удовлетворение, но все-таки не согласился со студентом, а высказал свое мнение: «Самым важным является тип символ».

У него были на то основания. Компьютерам предназначено быть нашими слугами, а не хозяевами, а человеку понятны только символьные данные. (Есть, конечно, люди, которые без труда читают и двоичные данные, но о них мы сейчас говорить не будем.) Символы, а стало быть, и строки, позволяют человеку общаться с компьютером. Любую информацию, в том числе и текст на естественном языке, можно закодировать в виде строк.

Как и в других языках, строка в Ruby — просто последовательность символов. Подобно другим сущностям, строки являются полноценными объектами. В программах приходится выполнять разнообразные операции над строками: конкатенировать, выделять лексемы, анализировать, производить поиск и замену и т.д. Язык Ruby позволяет все это делать без труда.

Почти всюду в этой главе предполагается, что байт — это символ. Но при работе в многоязычной среде это не совсем так. Вопросы интернационализации обсуждаются в главе 4.

Данный текст является ознакомительным фрагментом.



Поделитесь на страничке

Похожие главы из других книг:

Глава 26 Синтаксический анализ параметров командной строки

Из книги автора

Глава 26 Синтаксический анализ параметров командной строки Многие Linux-программы позволяют задавать параметры командной строки. Эти параметры выполняют самые разнообразные функции, однако имеют практически одинаковую синтаксическую структуру. Короткие параметры


20.10.8 Строки октетов

Из книги автора

20.10.8 Строки октетов OCTET STRING (строки октетов) — это последовательность байт. Почти любые данные можно представить строкой


Глава 4 Строки и текст

Из книги автора

Глава 4 Строки и текст 4.0. Введение Эта глава содержит рецепты работы со строками и текстовыми файлами. Большая часть программ на C++ независимо от сферы их применения в той или иной степени работает со строками и текстовыми файлами. Однако, несмотря на различия в сферах


Символьные строки

Из книги автора

Символьные строки Символьная строка состоит из последовательности символов, заключенных в двойные кавычки. Эта последовательность представляется в памяти как массив элементов типа char. Символьная строка представляет в выражении адрес этого массива, т. е. адрес первого


Столбцы и строки

Из книги автора

Столбцы и строки От отдельных ячеек мы можем (и должны) перейти к работе с их группами. Один из видов (произвольно заданный диапазон) мы уже рассмотрели в прошлых главах. Однако гораздо чаще нам приходится работать с другими видами – строками (горизонтальными) и столбцами


Строки

Из книги автора

Строки CharPrev Функция CharPrev возвращает указатель на предшествующий символ в строке. Функция заменяет функцию AnsiPrev . LPTSTR CharPrev ( LPCTSTR lpszStart , // указатель на первый символ LPCTSTR lpszCurrent // указатель на текущий символ ); Параметры lpszStart - указатель на начало строки. lpszCurrent - указатель


2.5 Строки

Из книги автора

2.5 Строки Строка есть последовательность символов, заключенная в двойные кавычки: «...». Строка имеет тип «массив символов» и класс памяти static (см. #4 ниже), она инициализируется зданными символами. Все строки, даже если они записаны одинково, различны. Компилятор


Строки

Из книги автора

Строки Класс STRING описывает символьные строки. Он имеет специальный статус, поскольку нотация допускает манифестные строковые константы, обозначающие экземпляры STRING.Строковая константа записывается в двойных кавычках, например,"ABcd Ef ~*_ 01"Символ двойных кавычек должны


Глава 9 Ошибки форматирующей строки

Из книги автора

Глава 9 Ошибки форматирующей строки В этой главе обсуждаются следующие темы: • Уязвимость форматирующей строки • Пример уязвимой программы • Тестирование программ способом случайной форматирующей строки • Программа атаки с использованием форматирующей строки ·