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

Простейшие строковые литералы заключены в одинарные кавычки (символ апострофа). Текст в кавычки – это значение строки:

'Это простой строковый литерал Ruby'

 

Если вам нужно разместить апостроф в строках с одной кавычкой, то перед ним следует обратная косая черта, чтобы интерпретатор Ruby не думал, что он завершает строку:

'Ты будешь читать книгу O'Reilly's?'

 

Обратная косая черта также работает, чтобы избежать другой обратной косой черты, так что вторая обратная косая черта сама по себе не интерпретируется как escape-символ.

Ниже перечислены связанные с строкой функции Ruby.

Выражение замещения

Подстановка выражения является средством вложения значения любого выражения Ruby в строку с помощью #{и}:

#!/usr/bin/ruby
x, y, z = 12, 36, 72
puts "Значение x равно #{ x }."
puts "Сумма x и y = #{ x + y }."
puts "Среднее значение #{ (x + y + z)/3 }."

 

 

Это приведет к следующему результату:

Значение x равно 12.
Сумма x и y равно 48.
Среднее значение 40.

Общие разделимые строки

С общими строками с разделителями вы можете создавать строки внутри пары совпадений, если произвольные символы разделителя, например: !, (, {, < и т. д., Которым предшествует процентный символ (%). Q, q и x имеют особые значения.

Обозначенные строки могут быть:

%{Ruby это весело.} equivalent to "Ruby это весело."
%Q{ Ruby это весело. } equivalent to " Ruby это весело. "
%q[Ruby это весело.] эквивалентная строка с одинарными кавычками
%x!ls! эквивалент вывода команды Back tick ls

Символ Escape

Следующая таблица представляет собой список символов escape или non-printable, которые могут быть представлены с помощью обратной косой черты.

Кодировка символов

Набор символов по умолчанию для Ruby – это ASCII, символы которого могут быть представлены одиночными байтами. Если вы используете UTF-8 или другой современный набор символов, символы могут быть представлены в одном-четырех байтах.

Вы можете изменить свой набор символов, используя $KCODE в начале вашей программы, например:

$KCODE = 'u'

Ниже приведены возможные значения для $KCODE.

Строковые встроенные методы

Нам нужно иметь экземпляр объекта String для вызова метода String. Ниже приведен способ создания экземпляра объекта String:

new [String.new(str = "")]

 

Это вернет новый строковый объект, содержащий копию str. Теперь, используя объект str, мы все можем использовать любые доступные методы экземпляра. Например,

#!/usr/bin/ruby
myStr = String.new("ЭТО ТЕСТ")
foo = myStr.downcase
puts "#{foo}"

 

 

Это приведет к следующему результату:

это терс

Ниже приведены общедоступные методы String (предположим, что str является объектом String).

Директивы String unpack

В следующих таблицах перечислены директивы unpack для метода String #unpack.

Пример

Попробуйте следующий пример, чтобы распаковать различные данные.

"abc abc ".unpack('A6Z6') #=> ["abc", "abc "]
"abc ".unpack('a3a3') #=> ["abc", " 0000"]
"abc abc ".unpack('Z*Z*') #=> ["abc ", "abc "]
"aa".unpack('b8B8') #=> ["10000110", "01100001"]
"aaa".unpack('h2H2c') #=> ["16", "61", 97]
"xfexffxfexff".unpack('sS') #=> [-2, 65534]
"now = 20is".unpack('M*') #=> ["now is"]
"whole".unpack('xax2aX2aX1aX2a') #=> ["h", "e", "l", "l", "o"]

 

Источник: AndreyEx.ru