Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Ruby: variable, scope, instance variable, class, global, local

Какие типы переменных есть в Ruby?

Вопрос проверяет знание различных типов переменных и их областей видимости в Ruby.

Короткий ответ

В Ruby есть четыре типа переменных:

  • Локальные (local_variable) — видны только внутри блока, метода или класса.

  • Переменные экземпляра (@instance_variable) — принадлежат конкретному объекту.

  • Переменные класса (@@class_variable) — делятся между всеми экземплярами класса.

  • Глобальные ($global_variable) — доступны из любого места программы.

Длинный ответ

Переменные в Ruby различаются по области видимости:

  • Локальные переменные: начинаются с маленькой буквы или _, доступны только внутри метода или блока, где они определены.

    def example  
      	x = 10  
      	puts x  
    end  
    example # => 10  
  • Переменные экземпляра: начинаются с @, принадлежат объекту и сохраняют свое значение между вызовами методов объекта.

    class Person  
      	def initialize(name)  
        		@name = name  
      	end  
    
      	def name  
        		@name  
      	end  
    end  
    person = Person.new("John")  
    puts person.name # => John  
  • Переменные класса: начинаются с @@, используются для хранения данных, общих для всех экземпляров класса.

    class Counter  
      	@@count = 0  
    
      	def initialize  
        		@@count += 1  
      	end  
    
      	def self.count  
        		@@count  
      	end  
    end  
    Counter.new  
    Counter.new  
    puts Counter.count # => 2  
  • Глобальные переменные: начинаются с $, доступны из любой части программы, но их использование не рекомендуется из-за сложности отладки.

    $global_variable = "I am global"  
    def example  
      	puts $global_variable  
    end  
    example # => I am global  

Вывод: Выбор типа переменной зависит от области видимости и контекста использования.

Уровень

  • Рейтинг:

    4

  • Сложность:

    3

Навыки

  • Ruby

    Ruby

Ключевые слова

#variable

#scope

#instance variable

#class

#global

#local

Подпишись на Ruby Developer в телеграм