プログラム言語Rubyで、"その時に使用されている変数一覧"を知りたいのですが、こういった命令はあるでしょうか…?

教えてください。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/03/14 07:36:47
  • 終了:2013/03/14 12:15:00

ベストアンサー

id:windofjuly No.2

うぃんど回答回数2625ベストアンサー獲得回数11492013/03/14 07:56:48

ポイント220pt

http://doc.ruby-lang.org/ja/1.9.3/method/Kernel/m/local_variables.html

local_variables -> [Symbol]

現在のスコープで定義されているローカル変数名の配列を返します。

yuyu = 0
p local_variables #=> [:yuyu]


http://doc.ruby-lang.org/ja/1.9.3/method/Kernel/m/global_variables.html

global_variables -> [Symbol]

プログラム中で定義されているグローバル変数(`$'で始まる変数)名の 配列を返します。

p global_variables #=> [:$;, :$-F, :$@, ... ]


http://doc.ruby-lang.org/ja/1.9.3/class/Object.html

instance_variables -> [Symbol]

オブジェクトのインスタンス変数名をシンボルの配列として返します。

obj = Object.new
obj.instance_eval { @foo, @bar = nil }
p obj.instance_variables

#=> [:@foo, :@bar]


http://doc.ruby-lang.org/ja/1.9.3/class/Module.html

constants -> [Symbol]

このメソッドを呼び出した時点で参照可能な定数名の配列を返します。

class C
FOO = 1
end
p Module.constants # => [:RUBY_PLATFORM, :STDIN, ..., :C, ...]
# 出力中に :FOO は現われない

id:gamecome

事細かにありがとうございます!
これでいけるか、試してみます!

2013/03/14 12:14:00

その他の回答(1件)

id:taknt No.1

きゃづみぃ回答回数13538ベストアンサー獲得回数11982013/03/14 07:53:26

ポイント80pt

http://www.ruby-lang.org/ja/old-man/html/_C1C8A4DFB9FEA4DFB4D8BFF4.html#local_variables

local_variables

現在のスコープで定義されているローカル変数名の配列を返します。


こういうのは あるようです。

配列で取得できるので、それぞれ確認する場合は、ループして配列をチェックするしかないです。

http://d.hatena.ne.jp/ohnishiakira/20110411/1302537584

local_variables do |v|
puts v
end
#=> hoge
#=> fuga

id:gamecome

ありがとうございます!

2013/03/14 12:14:07
id:windofjuly No.2

うぃんど回答回数2625ベストアンサー獲得回数11492013/03/14 07:56:48ここでベストアンサー

ポイント220pt

http://doc.ruby-lang.org/ja/1.9.3/method/Kernel/m/local_variables.html

local_variables -> [Symbol]

現在のスコープで定義されているローカル変数名の配列を返します。

yuyu = 0
p local_variables #=> [:yuyu]


http://doc.ruby-lang.org/ja/1.9.3/method/Kernel/m/global_variables.html

global_variables -> [Symbol]

プログラム中で定義されているグローバル変数(`$'で始まる変数)名の 配列を返します。

p global_variables #=> [:$;, :$-F, :$@, ... ]


http://doc.ruby-lang.org/ja/1.9.3/class/Object.html

instance_variables -> [Symbol]

オブジェクトのインスタンス変数名をシンボルの配列として返します。

obj = Object.new
obj.instance_eval { @foo, @bar = nil }
p obj.instance_variables

#=> [:@foo, :@bar]


http://doc.ruby-lang.org/ja/1.9.3/class/Module.html

constants -> [Symbol]

このメソッドを呼び出した時点で参照可能な定数名の配列を返します。

class C
FOO = 1
end
p Module.constants # => [:RUBY_PLATFORM, :STDIN, ..., :C, ...]
# 出力中に :FOO は現われない

id:gamecome

事細かにありがとうございます!
これでいけるか、試してみます!

2013/03/14 12:14:00

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません