有没有办法可以在Ruby中找到以特定字符串开头的所有变量? 例如,我的ruby程序中有以下变量:
ret_d = 1
ret_d2 = 23
是否有一个会返回["ret_d","ret_d2"]
的函数?问题是我没有所有变量的集合。
答案 0 :(得分:15)
Kernel#local_variables
应该可以解决问题。
>> ret_d = 1
=> 1
>> ret_d2 = 23
=> 23
>> local_variables
=> ["_", "ret_d", "ret_d2"]
>> local_variables.select{|v|v=~/^ret_/}
=> ["ret_d", "ret_d2"]
答案 1 :(得分:6)
如果它们是局部变量,则可以使用local_variables
。然而,这听起来像一个穷人的阵列。您可以考虑使用实际的数组。