ruby Kernel doc を調べていたところ、次のメソッドが見つかりました。
a = 2
local_variables # => [:a, :_]
a ではなく :a を返すのはなぜですか? 「:」は記号用に予約されていると思いましたが、記号 :a は変数 a も割り当てられた値 2 も指していません。
さらに、このメソッドを介して実際の変数にアクセスするにはどうすればよいでしょうか? b=local_variables.first のように (2 になりますが、:a です)。
この動作の背後にある理由は何ですか?
ありがとう/