Дорогие читатели и друзья. Здесь я представляю очередную статью о Ruby PL. Предыдущая статья была просто введением в Ruby PL (Введение в язык программирования Ruby). Вот основные тезисы из предыдущей статьи о Ruby:

  • Ruby был впервые разработан Юкихиро Мацумото и впервые представлен в 1995 году.
  • Ruby является интерпретируемым языком (это означает, что он не преобразуется в двоичный/машинный код, а анализируется и запускается специальной программой, называемой «интерпретатор», и результат предоставляется пользователю).
  • Ruby является кроссплатформенным (это означает, что его можно запускать на различных платформах, таких как Mac, Windows, Linux и ОС на базе Unix).
  • Официальная страница Ruby PL: https://www.ruby-lang.org/
  • Официальная страница Ruby PL на Github: https://github.com/ruby/ruby

Простота, легкость обучения и его производительность являются ключевыми факторами его быстрого роста популярности. Как говорят о Ruby некоторые ученики: «Я легко понимаю, что происходит в программе, даже до изучения самого языка». Его можно легко выучить за короткий период, и он очень быстро стал популярным в сообществах разработчиков программного обеспечения из-за своего синтаксиса, напоминающего обычный английский язык. Возможность использовать Ruby в качестве инструмента Frontend (на стороне клиента) и в качестве инструмента Backend (на стороне сервера) просто добавляет дополнительные монеты к его популярности.

Поскольку его легко освоить и использовать для повседневных задач, программисты пошли еще дальше. Разработчики и участники разработали и добавили «Sinatra» и «Ruby on Rails» в список широко известных и широко используемых фреймворков, которые позволяют нам разрабатывать полноценные веб-приложения. Среди них мы должны привлечь внимание к фреймворку «Ruby on Rails», как к чрезвычайно популярному инструменту, используемому крупнейшими платформами по всему миру.

Как вы все знаете, любые данные относятся к одному из типов данных в мире программирования. Например, цена: число, фамилия: строка, еда, которую я люблю: массив и т. д. Работающая программа создается путем правильного сбора этих кусочков и их обработки. А теперь давайте посмотрим на типы данных, используемые в языке программирования Ruby. Основные типы данных в Ruby следующие:

  • Числа (любое число, целое число или число с плавающей запятой)
  • Строки (набор символов)
  • Булевы значения (тип данных, имеющий только 2 состояния: открыто/закрыто, пройдено/не пройдено)
  • Массивы (упорядоченный список элементов)
  • Хеши (как и массивы, но вместо номеров индексов у них есть ключи)
  • Символы (тип данных, представляющий другие объекты)

Теперь давайте рассмотрим каждый из вышеупомянутых типов данных отдельно.

Типы данных

Числа. Этот тип данных используется для числовых данных, которые представляют такие элементы, как цена, возраст, рост, длина, температура и т. д. Обычно в большинстве языков программирования числа делятся на два подтипа, такие как целые числа и числа с плавающей запятой. Ruby имеет больше подтипов чисел (Fixnum, Bignum, Float, Complex, Rational, BigDecimal).

# We measure someones temperature.
# 'regular_temperature' variable is of type Number
regular_temperature = 36.6
my_temperature = 37.2
if my_temperature == regular_temperature
     print "You are not feeling well. Call you doctor."
else
     print "You are as healthy as a bear!"

Строки: этот тип данных используется для данных, которые могут быть представлены набором символов. Этими символами могут быть любые символы, такие как цифры, буквы, специальные символы и т. д. Примерами таких данных являются имя, фамилия, название города, пароль, код, номер телефона и т. д. Эти данные определяются в двойных кавычках ( “ ”) или одинарные кавычки (' ').

my_phone_number = "+993-65-201684"
print "My phone number is => " + my_phone_number

Boolean. Будучи типом данных, присутствующим почти во всех языках программирования, этот тип данных в основном используется для определения только двух доступных состояний. Например: женат/не женат, открыт/закрыт, ночь/день, прошел/не прошел и т.д.

В общем, тип данных Boolean использует только два доступных состояния, которые определяют истинность/ложь, а именно значения «истина» и «ложь». В некоторых случаях числовое значение 1 может быть использовано вместо «истина» и 0 вместо «ложь».

exam_passed = true
if exam_passed
    print "Congratulations!"
else
    print "Do not loose your hope, keep trying..."
end

Помимо этого, в Ruby есть тип «nil», который используется для представления данных, не имеющих значения.

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

  • Футболисты: Роналдиньо, Ибрагимович, Фигу, Карлос. (Показатели игроков, 0-Роналдиньо, 1-Ибрагимович, 2-Фиго и 3-Карлос)
players = ["Ronaldinho", "Ibrahimovic", "Figo", "Carlos"]
print players[0] # Player number 1 (index: 0), 'Ronaldinho'
print players[2] # Player number 3 (index: 2), 'Figo'
players[2] = "Rooney" # We replace 'Figo' with 'Rooney'.
print players[2] # Player number 3 (index: 2), 'Rooney'

Хэши. Этот тип данных очень похож на тип данных «Массив», но элементы не упорядочены по индексу или порядковому номеру. Вместо этого каждый элемент в коллекции представляет собой пару ключа и значения. Этот набор элементов определяется в квадратных скобках «{ }», а каждый ключ и пара значений определяются с помощью символа «=›» (ракета). Например:

  • Цветовые коды: красный-0xf00, зеленый-0x0f0, синий-0x00f
# Color names and codes
colors = {"red" => "0xf00", "green" => "0x0f0", "blue" => "0x00f"}
# 'puts' writes data to screen and ends the line...
puts "Red color code = " + colors["red"]
puts "Blue color code = " + colors["blue"]

Символы. Символы — это несколько странные типы данных, которые можно найти не во всех языках программирования. Проще говоря, это своего рода тип данных «String», но немного улучшенная версия типа данных «String». Чтобы определить тип данных «Символ», это должно быть одно неразрывное слово со знаком «:» перед ним. Давайте посмотрим на примеры ниже, чтобы лучше различать типы «String» и «Symbol».

puts "a string".object_id # Output: 70358630335100
puts "a string".object_id # Output: 70358640625960
puts "a string".object_id # Output: 70358644379620

Как вы видите в приведенном выше примере, для строки с тем же содержимым новый блок памяти занимает другую часть памяти компьютера. Это можно заметить, взглянув на идентификаторы (object_id) вновь созданных объектов. Теперь давайте попробуем то же самое с типом данных «Символ».

:this_is_string.object_id # Output: 1086748
:this_is_string.object_id # Output: 1086748
:this_is_string.object_id # Output: 1086748

Как видно из приведенного выше примера, для объекта Symbol с одинаковым именем/содержимым один и тот же блок памяти используется повторно. Другими словами, второй и третий объекты Symbol не воссоздаются. Вместо этого они используют блок памяти, уже созданный в первом объекте Symbol. Потому что содержание одинаково во всех трех. Это экономит место в памяти компьютера и позволяет избежать повторного создания объекта с одним и тем же содержимым несколько раз.

«Символ» — это немного более технический тип данных. Так что не стоит сейчас слишком углубляться в детали. Вы прочтете об этом больше, когда продвинетесь дальше в изучении языка программирования Ruby.

Вывод

В этой статье мы познакомились с языком программирования Ruby и рассмотрели его основные типы данных.

При желании вы можете опробовать написанные выше коды на этом сайте: https://try.ruby-lang.org/. На этой странице, если код, который вы вставили в поле Редактор, работает правильно, вы увидите результаты в разделе Вывод страницы.

При написании этой статьи я старался придерживаться ясной и простой манеры письма. Но если у вас есть дополнительные комментарии и вопросы, вы можете с гордостью сообщить мне о них, написав в комментариях или написав мне напрямую по электронной почте.

Надеюсь, он будет полезен читателям, учащимся и любителям…