Есть ли способ получить все переменные в Ruby? - PullRequest
8 голосов
/ 05 апреля 2009

Есть ли способ найти все переменные в Ruby, которые начинаются с определенной строки? Например, в моей программе ruby ​​есть следующие переменные:

ret_d = 1
ret_d2 = 23

Есть ли функция, которая будет возвращать ["ret_d","ret_d2"]? Проблема в том, что у меня нет набора всех переменных.

Ответы [ 2 ]

15 голосов
/ 05 апреля 2009

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"]
6 голосов
/ 05 апреля 2009

Если это локальные переменные, вы можете использовать local_variables. Тем не менее, это звучит как набор бедняков. Вы можете рассмотреть возможность использования фактического массива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...