Ruby(및 Rails)에서 발견: 현재 범위에서 local/global_variables를 나열하고 irb 세션에서 (_)를 나열합니다.

2990 단어 ruby
Ruby는 정의된 지역 및 전역 변수 목록을 결정하기 위해 런타임에 프로그램을 활용하는 메커니즘을 제공합니다. Ruby는 지역 또는 전역 범위에서 선언된 모든 변수를 가져오는 두 가지 방법을 제공합니다.

커널#local_variables


local_variables는 루비 프로그램에서 전 세계적으로 사용할 수 있습니다.

x = 5
puts local_variables
# => [:x]

local_variables 메서드는 현재 로컬 범위의 변수를 가져옵니다. 그래서, 다음과 같은 것을 위해

y = 6
def do_something
  x = 5
  puts local_variables
end

do_something
local_variables


콘솔에 인쇄되는 첫 번째 줄은 do_something 내부의 지역 변수입니다. 두 번째 인쇄는 현재 범위의 지역 변수, 즉 y 입니다.

커널#global_variables



Ruby에서 전역 변수는 달러 기호$로 시작하는 변수입니다. Ruby에는 이미 사용할 수 있는 내장 전역 집합이 있습니다.

puts global_variables


자신의 전역 변수를 만들어 전역 변수 목록에 추가할 수 있지만 원하지 않을 수도 있습니다.

$my_global_variable = "Custom global"
global_variables.find { |glob| glob == :$my_global_variable }
 # => :$my_global_variable 


주의: 모든 변수는 기호로 저장됩니다.

보너스 콘텐츠, irb 세션의 _ 로컬 변수.



irb 세션을 시작하고 local_variables를 기록하면 목록에 _가 표시됩니다. _는 마지막 반환 값이 영원히 손실된 경우에 액세스할 수 있는 방법을 제공합니다.

irb 세션에서 _를 사용하여 이전 줄의 반환 값에 액세스할 수 있습니다.

x = 5
y = _

puts x 
puts y


irb를 통해 이것을 실행하면 5 두 번 기록됩니다. _ 변수 x에 5를 할당한 마지막 반환 값을 저장하기 때문입니다.

자원


  • Kernel#local_variables
  • Kernel#global_variables
  • 좋은 웹페이지 즐겨찾기