Рубиновые литералы

Литералы

Мы уже видели литералы: каждый раз, когда мы вводим объект непосредственно в код Ruby, мы используем литерал. Литералы создают объекты, которые используются в программе.

Литералы Ruby включают:

  • логические значения и nil
  • числа
  • Строки
  • Символы
  • Массивы
  • Хеши
  • Диапазоны
  • Регулярные выражения
  • Procs

Логические значения и ноль:

  • Оба значения nil и false являются ложными.
  • nil используется для обозначения «нет значения» или «неизвестно», но в условных выражениях принимает значение false.
  • true — истинное значение.
  • Все объекты, кроме nil и false, оценивают истинное значение в условных выражениях.

Примечание. Существуют также константы TRUE, FALSE и NIL, но предпочтительны строчные буквальные формы.

Числа:

Вы можете записывать целые числа любого размера следующим образом:

  • 100
  • 1_00

Эти числа имеют одинаковое значение, подчеркивание может использоваться для повышения удобочитаемости для людей. Вы можете поставить знак подчеркивания в любом месте числа. См. Следующий пример:

  irb (main): 001: 0> 100 => 100irb (main): 002: 0> 1_00 => 100irb (main): 003:  0> 100 + 1_00 => 200  

Плавающие числа можно записать следующими способами:

  • 15.34
  • 7234e-2
  • 1.234E1

Вы также можете использовать символы подчеркивания в числах с плавающей запятой.

Префикс:

Вы можете использовать специальный префикс для записи чисел в десятичном, шестнадцатеричном, восьмеричном или двоичном форматах.

  • Используйте префикс 0d для десятичных чисел
  • Используйте префикс 0x для шестнадцатеричных чисел
  • Используйте префикс 0 или 0o для восьмеричных чисел
  • Используйте префикс 0b для двоичных чисел

Примечание. Буквенный компонент числа не чувствителен к регистру.

Все следующие числа имеют одно и то же десятичное значение, 170.

Примеры: десятичные числа

  • 0d170
  • 0D170

Примеры: шестнадцатеричные числа

  • 0xaa
  • 0xAa
  • 0xAA
  • 0Xaa
  • 0XAa
  • 0XaA

Примеры: восьмеричные числа

  • 0252
  • 0o252
  • 0O252

Примеры: двоичные числа

  • 0b10101010
  • 0B10101010

Строки

  • Строковое выражение начинается и заканчивается двойными или одинарными кавычками.
  • Самый распространенный способ записи строк — с использованием «.
  • Строковые выражения в двойных кавычках подлежат обратной косой черте и интерполяции.
  • Строки с двойными кавычками позволяют использовать экранированные символы, такие как n для новой строки, t для вкладки и т. д.

См. следующий пример:

  put ("Это простая строка") put (  "В этой строке есть двойные кавычки: ". Он экранирован ") put (" В строках с двойными кавычками можно использовать экранированные символы, такие как  n для новой строки,  t для табуляции и т. Д. ")  

Вывод:

 Это простая строка. В этой строке заключены двойные кавычки: ".  Строки с двойными кавычками позволяют использовать экранированные символы, например, для новой строки, табуляции и т. Д. 

В следующей таблице показаны различные ситуации escape:

Escape Sequence Значение
n новая строка (0x0a)
s пробел (0x20)
r возврат каретки (0x0d)
t tab (0x09)
v вертикальная табуляция (0x0b)
f formfeed (0x0c)
b backspace (0x08)
a звонок/предупреждение (0x07)
e escape (0x1b)
nnn символ с восьмеричным значением nnn
xnn символ с шестнадцатеричным значением nn
unnnn Кодовая точка Unicode U + nnnn (Ruby 1.9 и новее)
cx control-x
Cx элемент управления -x
Mx meta-x
M- Cx meta-control-x
x сам символ x ( «одинарная кавычка, например)

Интерполяция:

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

Пример:

  put ("Два умножить три равно шесть: # {2 * 3}")  

Вывод:

 Два умножить три равно шесть: 6  

# {выражение} используется для обработки разделителей строк, которые появляются в коде

% Notation:

Вы также можете создавать строки, используя% в стиле Perl для заключения строк в кавычки.

Пример:

  put (% (это использование% string))  

Вывод:

 Это использование% string 

Типы строк в ruby:

Типы Описание
% i Массив символов
% q String
% r Регулярное выражение
% s Символ
% w Массив строк
% x Обратный апостроф (результат захвата подоболочки)

Здесь Документы:

Чтобы написать большой блок текста, вы можете использовать «здесь документ» или «heredoc», где сам разделитель может быть любой строкой. См. Следующий пример.

Если вы пишете большой блок текста, вы можете использовать «здесь документ» или «heredoc»:

  str1 =  

Вывод:

 Lorem Ipsum - это просто фиктивный текст полиграфической и наборной индустрии.  Lorem Ipsum был стандартным текстовым манекеном в отрасли с 1500-х годов, когда неизвестный типограф взял камбуз с печатным шрифтом и скремблировал его, чтобы сделать книгу с образцами шрифта.  Он пережил не только пять веков, но и скачок в электронный набор, оставшись практически неизменным.  Он был популяризирован в 1960-х годах с выпуском листов Letraset, содержащих отрывки Lorem Ipsum, а в последнее время - с помощью программного обеспечения для настольных издательских систем, такого как Aldus PageMaker, включая версии Lorem Ipsum. 

Синтаксис начинается с

Любой идентификатор (в верхнем регистре) может использоваться с heredoc. Вы можете сделать отступ для конечного идентификатора, если поставите «-» после

  result =  

Вывод:

 Lorem Ipsum - это просто фиктивный текст полиграфической и верстальной индустрии.  Lorem Ipsum был стандартным текстовым манекеном в отрасли с 1500-х годов, когда неизвестный типограф взял камбуз типа и скремблировал его, чтобы сделать книгу образцов шрифта. 

Вы можете использовать не буквенно-цифровые символы в разделитель, его можно цитировать:
Пример:

  result =  

Вывод:

 Lorem Ipsum - это просто фиктивный текст полиграфической и наборной индустрии.  Lorem Ipsum был стандартным фиктивным текстовым верстальщиком в отрасли с 1500-х годов, когда неизвестный типограф взял гранку с шрифтом и скремблировал ее, чтобы сделать книгу с образцами шрифтов. 

Heredoc допускает интерполяцию и экранированные символы, хотя может отключить интерполяцию и экранирование, используя одинарные кавычки вокруг разделителя.
Пример:

  str1 =  

Вывод:

 put («Два умножить три - шесть: 6») 

Если вы хотите вызвать метод на heredoc помещает его после открывающего идентификатора:

  expected_result =  

Примечание: вы можете открыть несколько heredoc-файлов в одной строке, но это может быть трудно читать:

Символы:

В Ruby символ представляет имя внутри интерпретатора.

Синтаксис:

 :  ruby_symbol  

Вы также можете создавать символы с помощью интерполяции:

 : "my_id" put (: "my_id # {200 + 15  } ")  

Массивы:

Массив — это набор объектов, индексированных неотрицательным целым числом. и создается с использованием объектов между [и]:

Массив — это набор объектов, индексированных не-ne положительное целое число. Вы можете создать объект массива, написав Array.new, записав необязательный список значений, разделенных запятыми, внутри квадратных скобок или, если массив будет содержать только строковые объекты, строку с разделителями-пробелами, перед которой будет стоять% w.

 array1 = Array.new # сокращение array2 для Array.newarray2 = [] # array3 содержит 1, 2, 3array3 = [1, 2, 2] # array4 также содержит 1, 2, 3array4 =% w [1  2 3] 

Вот несколько примеров:

  my_color = ['Красный', 'Черный', 'Белый', 'Зеленый',  'Orange'] put (my_color [0]) put (my_color [2]) # отрицательные индексы считаются от конечных значений (my_color [-2]) put ('-----------') #  [start, count] put (my_color [1,3]) put ('-----------') # using range.puts (my_color [0..1])  

Внутри массива можно размещать выражения:

 [100, 100 + 100, 100 + 200] [100, [100 + 100, [100 + 200]]]  

См. в разделе «Массив» методы, которые вы можете использовать с массивом.

Хэши:

Хеши в основном такие же, как массивы, за исключением того, что хеши не только содержит значения, а также ключи, указывающие на эти значения. Хэш-объект создается следующими способами:

 hash1 = Hash.newhash2 = {} hash3 = {"num1" => 100, "num2" => 200, "num3" => 300  

Вы можете создать хэш, используя символьные ключи со следующим синтаксисом:

 {x: 1, y: 2} 

Диапазоны:

Диапазон представляет собой подмножество всех возможных значений типа. Диапазон может включать или исключать свое конечное значение. Вы можете создать диапазон следующими способами:

 # Все целые числа от 0 до 10.0..10 # Все числа (включая нецелые) от 0 до 3, кроме 3.0.0 ...  3.0 # Все символы между 'a' и 'f'. 'A' .. 'f' 

Регулярные выражения:

Регулярные выражения (regexps) используются для сопоставления шаблона со строками. Регулярные выражения создаются с использованием литералов/…/и% r {…}. См. Следующий синтаксис.

/мое регулярное выражение/

За регулярным выражением могут следовать флаги, которые отвечают за соответствие поведения регулярному выражению. Флаг «x» игнорирует пробелы и комментарии в шаблоне

/мое регулярное выражение/x 

Интерполяция может использоваться внутри регулярных выражений вместе с экранированными символами.

Procs:

Процесс может быть создан с помощью ->:

 -> {2 +  2} 

Вызов вышеуказанной процедуры даст результат 4.

Вы можете потребовать аргументы для процедуры следующим образом:

  -> (v) {2 + v} 

Эта процедура добавит единицу к своему аргументу.

Оцените статью
nanomode.ru
Добавить комментарий