2009-04-05 38 views
7

¿Hay alguna manera de encontrar todas las variables en Ruby que comiencen con una cadena en particular? Por ejemplo, he las siguientes variables en mi programa de rubí:¿Hay alguna manera de obtener todas las variables en Ruby?

ret_d = 1 
ret_d2 = 23 

¿Hay una función que devolverá ["ret_d","ret_d2"]? El problema es que no tengo el conjunto de todas las variables.

Respuesta

15

Kernel#local_variables deberían hacer el truco.

>> ret_d = 1 
=> 1 
>> ret_d2 = 23 
=> 23 
>> local_variables 
=> ["_", "ret_d", "ret_d2"] 
>> local_variables.select{|v|v=~/^ret_/} 
=> ["ret_d", "ret_d2"] 
5

Si son variables locales, puede usar local_variables. Sin embargo, esto suena como la matriz de un pobre hombre. Puede considerar el uso de una matriz real.

+0

Impresionante. Gracias. –

Cuestiones relacionadas