В Ruby может быть полезно перечислить все переменные в определенной области видимости, будь то локальные переменные, переменные экземпляра или класса. В этой статье блога мы рассмотрим различные методы достижения этой цели и предоставим примеры кода для каждого метода.
Метод 1: использование local_variables
Метод local_variablesвозвращает массив символов, представляющих имена всех локальных переменных в текущей области.
def method_one
var_one = 10
var_two = 'Hello'
var_three = [1, 2, 3]
puts local_variables
end
method_one
Выход:
[:var_one, :var_two, :var_three]
Метод 2: использование instance_variables
Метод instance_variablesвозвращает массив символов, представляющих имена всех переменных экземпляра в текущей области.
class MyClass
def initialize
@var_one = 10
@var_two = 'Hello'
@var_three = [1, 2, 3]
end
def print_instance_variables
puts instance_variables
end
end
my_obj = MyClass.new
my_obj.print_instance_variables
Выход:
[:@var_one, :@var_two, :@var_three]
Метод 3: использование class_variables
Метод class_variablesвозвращает массив символов, представляющих имена всех переменных класса в текущей области действия.
class MyClass
@@class_var_one = 10
@@class_var_two = 'Hello'
@@class_var_three = [1, 2, 3]
def print_class_variables
puts class_variables
end
end
my_obj = MyClass.new
my_obj.print_class_variables
Выход:
[:@@class_var_one, :@@class_var_two, :@@class_var_three]
Метод 4: использование global_variables
Метод global_variablesвозвращает массив символов, представляющих имена всех глобальных переменных в текущей области.
$global_var_one = 10
$global_var_two = 'Hello'
$global_var_three = [1, 2, 3]
puts global_variables
Выход:
[:$global_var_one, :$global_var_two, :$global_var_three]
В этой статье мы рассмотрели несколько методов перечисления переменных в разных областях видимости в Ruby. Используя local_variables, instance_variables, class_variablesи global_variables, вы можете легко получать доступ к переменным и работать с ними внутри соответствующих переменных. области действия.