Доступ к переменным программно по имени в Ruby - PullRequest
24 голосов
/ 12 сентября 2008

Я не совсем уверен, возможно ли это в Ruby, но, надеюсь, есть простой способ сделать это. Я хочу объявить переменную, а затем узнать имя переменной. То есть для этого простого фрагмента:

foo = ["goo", "baz"]

Как я могу получить имя массива (здесь, "foo") обратно? Если это действительно возможно, работает ли это с какой-либо переменной (например, скаляры, хэши и т. Д.)?

Редактировать: Вот что я в основном пытаюсь сделать. Я пишу SOAP-сервер, который охватывает класс с тремя важными переменными, и код проверки по сути таков:

  [foo, goo, bar].each { |param|
      if param.class != Array
        puts "param_name wasn't an Array. It was a/an #{param.class}"
        return "Error: param_name wasn't an Array"
      end
      }

Мой вопрос: могу ли я заменить экземпляры 'param_name' на foo, goo или bar? Все эти объекты являются массивами, поэтому ответы, которые я получил до сих пор, похоже, не работают (за исключением реинжиниринга всего этого аля dbr's answer )

Ответы [ 11 ]

1 голос
/ 12 сентября 2008

Вы не можете, вам нужно вернуться к чертежной доске и заново разработать решение.

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