2010-01-21 49 views

回答

4

您通過執行eval("local_variables", the_binding)獲取綁定中的局部變量列表。

我不確定這是不是你的意思是「或者我總是必須與local_variables一起使用?」,但沒有辦法在沒有調用local_variables的情況下獲得該列表。

+0

我在想該綁定有一個方法,它將列出它包含的所有值(這樣我就不必傳遞'local_variables'返回的數組) – Geo 2010-01-21 12:04:52

+1

那麼,你不必傳遞它,因爲你可以在任何時候使用eval。雖然沒有辦法,除非你定義一個'class Binding; def variables()self.eval(「local_variables」)end end' – sepp2k 2010-01-21 12:19:56

0

這是一個老問題,所以答案是正確的Ruby版本< = 2

但由於2.1的新方法已經出現了獲取/設置和列表局部變量:

local_variable_get/local_variable_set/local_variable_defined? 
+1

這些方法中的任何一個如何列出局部變量? – 2014-07-25 13:53:20

相關問題