Ruby (および Rails) での検出: 現在のスコープで local/global_variables をリストし、irb セッションで (_) をリストします.
Ruby は、実行時にプログラムを利用して、定義されたローカル変数とグローバル変数のリストを決定するメカニズムを提供します. Ruby には、ローカルまたはグローバル スコープで宣言されたすべての変数を取得するための 2 つのメソッドが用意されています.
コンソールに出力される最初の行は、
Ruby では、グローバル変数はドル記号
独自のグローバル変数を作成することで、グローバル変数のリストに追加できますが、そうしたくない場合があります.
注意: すべての変数はシンボルとして保存されます.
irb セッションを起動して
irb セッションで
これを irb で実行すると、
Kernel#local_variables Kernel#global_variables
カーネル#local_variables
local_variables
は、Ruby プログラムで世界中で利用できます.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
内のローカル変数になります. 2 番目の出力は、現在のスコープ内のローカル変数、つまり 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
が 2 回ログに記録されます.これは、_
が変数 x への 5 の割り当てである最後の戻り値を格納するためです.資力
Reference
この問題について(Ruby (および Rails) での検出: 現在のスコープで local/global_variables をリストし、irb セッションで (_) をリストします.), 我々は、より多くの情報をここで見つけました https://dev.to/rockwell/discoveries-in-rubyand-rails-localvariables-globalvariables-and--li8テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol