Объект String в Ruby содержит произвольную последовательность из одного или нескольких байтов и манипулирует ими, обычно представляя символы, представляющие человеческий язык.
Простейшие строковые литералы заключены в одинарные кавычки (символ апострофа). Текст в кавычках является значением строки -
'This is a simple Ruby string literal'
Если вам нужно поместить апостроф внутри строкового литерала в одинарных кавычках, поставьте перед ним обратную косую черту, чтобы интерпретатор Ruby не думал, что он заканчивает строку -
'Won\'t you read O\'Reilly\'s book?'
Обратная косая черта также работает, чтобы избежать другой обратной косой черты, так что вторая обратная косая черта сама по себе не интерпретируется как escape-символ.
Ниже приведены особенности Ruby, связанные со строками.
Замена выражения
Подстановка выражений - это способ встраивания значения любого выражения Ruby в строку, используя # {и} -
Live Demo#!/usr/bin/ruby x, y, z = 12, 36, 72 puts "The value of x is #{ x }." puts "The sum of x and y is #{ x + y }." puts "The average was #{ (x + y + z)/3 }."
Это даст следующий результат -
The value of x is 12. The sum of x and y is 48. The average was 40.
Строки с разделителями
С помощью общих строк с разделителями вы можете создавать строки внутри пары совпадающих, хотя произвольных символов-разделителей, например!, (, {, <И т. Д., Перед которыми стоит символ процента (%). Q, q и x имеют специальные значения Общие строки с разделителями могут быть -
%{Ruby is fun.} equivalent to "Ruby is fun." %Q{ Ruby is fun. } equivalent to " Ruby is fun. " %q[Ruby is fun.] equivalent to a single-quoted string %x!ls! equivalent to back tick command output `ls`
Побег персонажей
Кодировка символов
Набор символов по умолчанию для Ruby - ASCII, символы которого могут быть представлены одиночными байтами. Если вы используете UTF-8 или другой современный набор символов, символы могут быть представлены от одного до четырех байтов.
Вы можете изменить свой набор символов, используя $ KCODE в начале вашей программы, например так:
$KCODE = 'u'
Строковые встроенные методы
Нам нужен экземпляр объекта String для вызова метода String. Ниже приведен способ создания экземпляра объекта String -
new [String.new(str = "")]
Это вернет новый строковый объект, содержащий копию str . Теперь, используя объект str , мы все можем использовать любые доступные методы экземпляра. Например -
Live Demo#!/usr/bin/ruby myStr = String.new("THIS IS TEST") foo = myStr.downcase puts "#{foo}"
Это даст следующий результат -
this is test
Директива по распаковке струн
пример
Попробуйте следующий пример, чтобы распаковать различные данные.
"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"]
Комментариев нет:
Отправить комментарий