Подтвердить что ты не робот

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

def method
  a = 3
  b = 4

  some_method_that_gives # [a, b] 
end
4b9b3361

Ответ 1

local_variables

Он выводит массив символов, представляющих переменные. В вашем случае: [:a, :b]

Ответ 2

local_variables перечисляет локальные переменные, но они перечисляют их до их определения. Смотрите это:

p local_variables
a = 1
p local_variables

это выводит

[:a]
[:a]

который может и не быть тем, что вы ожидаете. Контраст с defined?

p defined? a
a = 1
p defined? a

который выводит более ожидаемый

nil
"local-variable"