Рубиновые Литералы
литералы
Мы уже видели литералы: каждый раз, когда мы вводим объект непосредственно в код Ruby, мы используем литерал. Литералы создают объекты, которые используются в программе.
Ruby Literal включает в себя:
- Логическое и ноль
- чисел
- Струны
- Символы
- Массивы
- Хэш
- Изменяется
- Регулярные выражения
- Procs
Booleans и ноль:
- ноль и ложь оба являются ложными значениями.
- nil используется для обозначения «no value» или «unknown», но в условных выражениях оценивается как false.
- true является истинным значением.
- Все объекты, кроме nil и false, приводят к истинному значению в условных выражениях.
Примечание. Существуют также константы TRUE, FALSE и NIL, но предпочтительными являются строчные литеральные формы.
Числа:
Вы можете написать целые числа любого размера следующим образом:
- 100
- 1_00
Эти цифры имеют одинаковое значение, подчеркивание может использоваться для улучшения читабельности для людей. Вы можете поместить подчеркивание в любом месте номера. Смотрите следующий пример:
irb(main):001:0> 100
=> 100
irb(main):002:0> 1_00
=> 100
irb(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 для вкладки и т. Д.
Смотрите следующий пример:
puts("This is a simple string")
puts("This string has a double quote: \". It is escaped")
puts("Double-quote strings allow escaped characters such as \n for newline, \t for tab, etc.")
Выход:
Это простая строка Эта строка имеет двойную кавычку: ". Строки в двойных кавычках позволяют экранировать символы, такие как для новой строки, для вкладки и т. д.
В следующей таблице показаны различные ситуации побега:
Escape-последовательность | Имея в виду |
---|---|
/ п | перевод строки (0x0a) |
/ s | пробел (0x20) |
/р | возврат каретки (0x0d) |
/ т | вкладка (0x09) |
/ v | вертикальная вкладка (0x0b) |
/ е | Formfeed (0x0c) |
/ б | Backspace (0x08) |
/ а | звонок / оповещение (0x07) |
/ е | побег (0x1b) |
/ NNN | символ с восьмеричным значением nnn |
/ Хпп | символ с шестнадцатеричным значением nn |
/ unnnn | Кодовая точка Unicode U + nnnn (Ruby 1.9 и выше) |
/ сх | Контроль-х |
/ Cx | Контроль-х |
/ Mx | мета-х |
/ M- / Cx | мета-контроль-х |
/Икс | сам символ x (например, / "одиночная кавычка) |
Интерполяция:
В Ruby строки в двойных кавычках допускают интерполяцию других значений с помощью # {...}:
Пример:
puts( "Two multiply three is Six : #{2 * 3}")
Выход :
Два умножить три на шесть: 6
# {выражение} используется для обработки разделителей строк, которые появляются в коде
Нотация%:
Вы также можете создавать строки, используя% в стиле Perl для цитирования строк.
Пример:
puts(%(This is the usage of % string))
Выход:
Это использование% string
Типы струн в рубине:
Типы | Описание |
---|---|
%я | Массив символов |
% к | строка |
%р | Регулярное выражение |
% s | Условное обозначение |
% мас | Массив строк |
%Икс | Backtick (захватить результат подоболочки) |
Здесь документы:
Чтобы написать большой блок текста, вы можете использовать «здесь документ» или «heredoc», где сам разделитель может быть любой строкой. Смотрите следующий пример.
Если вы пишете большой блок текста, вы можете использовать «здесь документ» или «heredoc»:
str1 = <<HEREDOC
Lorem Ipsum is simply dummy text of the printing and typesetting
industry. Lorem Ipsum has been the industry's standard dummy text
ever since the 1500s, when an unknown printer took a galley of type
and scrambled it to make a type specimen book. It has survived not
only five centuries, but also the leap into electronic typesetting,
remaining essentially unchanged. It was popularised in the 1960s
with the release of Letraset sheets containing Lorem Ipsum passages,
and more recently with desktop publishing software like Aldus PageMaker
including versions of Lorem Ipsum.
HEREDOC
puts(str1)
Выход:
Lorem Ipsum - просто фиктивный текст о печати и наборе текста промышленность. Lorem Ipsum был стандартным фиктивным текстом в отрасли с 1500-х годов, когда неизвестный принтер взял камбуз типа и взобрался на нее, чтобы сделать книгу типового образца. Не выжил только пять веков, но и скачок в электронном наборе текста, оставаясь практически без изменений. Он был популяризирован в 1960-х годах с выпуском листов Letraset, содержащих отрывки Lorem Ipsum, и совсем недавно с настольным издательским программным обеспечением, таким как Aldus PageMaker в том числе версии Lorem Ipsum.
Синтаксис начинается с << и сопровождается разделителем. Чтобы завершить строку, разделитель появляется один на строке.
Любой идентификатор (в верхнем регистре) может быть использован с heredoc. Вы можете сделать отступ перед конечным идентификатором, если поставите «-» после <<. Смотрите следующий пример
result = <<-INDENTED_HEREDOC
Lorem Ipsum is simply dummy text of the printing and typesetting
industry.
Lorem Ipsum has been the industry's standard dummy text
ever since the 1500s, when an unknown printer took a galley of type
and scrambled it to make a type specimen book.
INDENTED_HEREDOC
puts(result)
Выход :
Lorem Ipsum - просто фиктивный текст о печати и наборе текста промышленность. Lorem Ipsum был стандартным фиктивным текстом в отрасли с 1500-х годов, когда неизвестный принтер взял камбуз типа и взобрался на нее, чтобы сделать книгу типового образца.
Вы можете использовать не-буквенно-цифровые символы в разделителе, его можно заключить в кавычки:
Пример :
result = <<-"***"
Lorem Ipsum is simply dummy text of the printing and typesetting
industry.
Lorem Ipsum has been the industry's standard dummy text
ever since the 1500s, when an unknown printer took a galley of type
and scrambled it to make a type specimen book.
***
puts(result)
Выход:
Lorem Ipsum - просто фиктивный текст о печати и наборе текста промышленность. Lorem Ipsum был стандартным фиктивным текстом в отрасли с 1500-х годов, когда неизвестный принтер взял камбуз типа и взобрался на нее, чтобы сделать книгу типового образца.
Heredoc допускает интерполяцию и экранированные символы, но может отключить интерполяцию и экранирование, используя одинарные кавычки вокруг разделителя.
Пример :
str1 = <<-HEREDOC
puts( "Two multiply three is Six : #{2 * 3}")
HEREDOC
puts(str1)
Выход:
ставит («два умножить три на шесть: 6»)
Если вы хотите вызвать метод в heredoc, поместите его после идентификатора открытия:
expected_result = <<-EXPECTED.chomp
One plus one is #{1 + 1} EXPECTED
Примечание. Вы можете открыть несколько heredocs в одной строке, но это может быть трудно прочитать:
Условные обозначения:
В Ruby символ представляет имя внутри интерпретатора.
Синтаксис:
:ruby_symbol
Вы также можете создавать символы путем интерполяции:
:"my_id"
puts(:"my_id#{200 + 15}")
Массивы:
Массив - это коллекция объектов, проиндексированных неотрицательным целым числом, и создается с использованием объектов между [и]:
Массив - это коллекция объектов, проиндексированных неотрицательным целым числом. Вы можете создать объект массива, написав Array.new, записав необязательный список значений через запятую в квадратных скобках, или, если массив будет содержать только строковые объекты, строку с разделителями-пробелами, которой предшествует% w.
array1 = Array.new # array2 сокращение для Array.new массив2 = [] # array3 содержит 1, 2, 3 array3 = [1, 2, 2] # array4 также содержит 1, 2, 3 array4 =% w [1 2 3]
Вот некоторые примеры :
my_color = ['Red', 'Black', 'White', 'Green', 'Orange']
puts(my_color[0])
puts(my_color[2])
#negative indices are counted from the end
puts(my_color[-2])
puts('-----------')
#[start, count]
puts(my_color[1,3])
puts('-----------')
#using ranges.
puts(my_color[0..1])
Вы можете разместить выражения внутри массива:
[100, 100 + 100, 100 + 200] [100, [100 + 100, [100 + 200]]]
См. Array для методов, которые вы можете использовать с массивом.
Хэш:
Хэши в основном такие же, как массивы, за исключением того, что хеш содержит не только значения, но и ключи, указывающие на эти значения. Хеш-объект создается следующими способами:
hash1 = Hash.new hash2 = {} hash3 = {"num1" => 100, "num2" => 200, "num3" => 300
Вы можете создать хеш, используя символьные ключи со следующим синтаксисом:
{x: 1, y: 2}
Диапазоны:
Диапазон представляет собой подмножество всех возможных значений типа. Диапазон может включать или исключать его конечное значение. Вы можете создать диапазон следующими способами:
# Все целые числа от 0 до 10. 0..10 # Все числа (включая не целые числа) от 0 до 3, кроме 3. 0,0 ... 3,0 # Все символы между 'a' и 'f'. «А» .. «е»
Регулярные выражения:
Регулярные выражения (регулярные выражения) используются для сопоставления шаблона со строками. Регулярные выражения создаются с использованием литералов /.../ и% r {...}. Смотрите следующий синтаксис.
/ мое регулярное выражение /
За регулярным выражением могут следовать флаги, отвечающие за сопоставление поведения регулярного выражения. Флаг «x» игнорирует пробелы и комментарии в шаблоне
/ мое регулярное выражение / х
Интерполяция может использоваться внутри регулярных выражений вместе с экранированными символами.
Procs:
Proc может быть создан с помощью ->:
-> {2 + 2}
Вызов вышеупомянутой процедуры даст результат 4.
Вы можете требовать аргументы для процедуры следующим образом:
-> (v) {2 + v}
Этот процесс добавит один к своему аргументу.
Предыдущая: Интерактивный Рубин
Далее: Ruby Style Guide
Новый контент: Composer: менеджер зависимостей для PHP , R программирования