我想知道 Ruby 是否有这样的功能:
@my_var = "foo"
some_function_i_dont_know_name_of("@my_var")
=> "foo"
似乎您正在寻找instance_variable_get
. 从文档:
返回给定实例变量的值,或者
nil
如果未设置实例变量。@
对于常规实例变量,应包括变量名的一部分。NameError
如果提供的符号作为实例变量名无效,则抛出异常。字符串参数被转换为符号。class Fred def initialize(p1, p2) @a, @b = p1, p2 end end fred = Fred.new('cat', 99) fred.instance_variable_get(:@a) #=> "cat" fred.instance_variable_get("@b") #=> 99
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句