Access variables programmatically by name in Ruby

后端 未结 11 883
没有蜡笔的小新
没有蜡笔的小新 2020-11-27 19:15

I\'m not entirely sure if this is possible in Ruby, but hopefully there\'s an easy way to do this. I want to declare a variable and later find out the name of the variable.

11条回答
  •  独厮守ぢ
    2020-11-27 19:43

    Building on joshmsmoore, something like this would probably do it:

    # Returns the first instance variable whose value == x
    # Returns nil if no name maps to the given value
    def instance_variable_name_for(x)
      self.instance_variables.find do |var|
        x == self.instance_variable_get(var)
      end
    end
    

提交回复
热议问题