Вопиющий о чёрной неблагодарности, знай: ты её заслужил (Авессалом Подводный).

Ruby – Строки

2 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
21 июля 2018
Язык программирования Ruby
Объект 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

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

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

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

$KCODE = 'u'

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

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

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

 

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

#!/usr/bin/ruby

myStr = String.new("ЭТО ТЕСТ")
foo = myStr.downcase

puts "#{foo}"

 

 

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

это терс

Директивы String unpack

Пример

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

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

 

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 15

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

    Добавить комментарий

    Войти с помощью: 

    Ваш e-mail не будет опубликован. Обязательные поля помечены *

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам:

    Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

    badge
    Обратный звонок 1
    Отправить
    galka

    Спасибо! Ваша заявка принята

    close
    galka

    Спасибо! Ваша заявка принята

    close