Какие основные типы данных существуют?ruby-3

Ruby является языком с динамической типизацией, где все типы - объекты. Вот основные типы данных:

1. Числа

Включает несколько подтипов:

Целые числа

42          # Fixnum (для небольших чисел)
9999999999  # Bignum (для больших чисел)
0xFF        # Шестнадцатеричное
0b1010      # Двоичное
1_000_000   # С разделителем (для читаемости)

Числа с плавающей точкой

3.14
2.0e5       # Научная нотация (200000.0)

2. Строки

"Hello"     # Интерполяция: "Value: #{variable}"
'World'     # Без интерполяции
%q{text}    # Альтернативный синтаксис

Особенности:

  • UTF-8 по умолчанию (с Ruby 2.0+)
  • Мutable (изменяемые)

3. Символы

:name       # Идентификатор, immutable
:"str sym"  # Символ из строки

Используются как ключи в хешах, идентификаторы методов.

4. Булевы значения

true
false
nil         # "Отсутствие значения" (тоже false в условиях)

5. Массивы

[1, "two", :three]  # Гетерогенные элементы
%w[a b c]            # Литерал для строковых массивов

Особенности:

  • Индексирование с 0
  • Динамическое изменение размера

6. Хеши

{ key: "value" }       # Ruby 1.9+ синтаксис
{ :key => "value" }    # Классический синтаксис

7. Диапазоны

1..10      # Включительный (10 входит)
1...10     # Исключительный (10 не входит)
'a'..'z'

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

/\d+/      # Паттерн для цифр
%r{^/path} # Альтернативный синтаксис

9. Специальные типы

nil        # Отсутствие значения
self       # Текущий объект
Proc       # Блок кода (например: -> { puts "lambda" })

Проверка типов

Методы для работы с типами:

42.class          # => Integer
"str".is_a?(String) # => true
:foo.instance_of?(Symbol) # => true

Резюмируем

Основные типы Ruby:

  1. Числа (Integer, Float)
  2. Строки (String) и символы (Symbol)
  3. Булевы значения (true/false/nil)
  4. Коллекции (Array, Hash)
  5. Специальные типы (Range, Regexp)

Все типы - объекты с методами. Динамическая типизация позволяет не объявлять типы явно, но требует внимания к преобразованиям.