Ben başka yollarla bu dinamik doğasını başarabilirsiniz, ama bana meraklı olması neden oldu. Ruby buna benzer bir mekanizma var mı?
$varname = "hello";
$$varname = "world";
echo $hello; //Output: world
2 Cevap
Sen kullanarak benzer bir şey eval elde edebilirsiniz
x = "myvar"
myvar = "hi"
eval(x) -> "hi"
0
Yalnızca örnek değişkenleri (ve sınıf değişkenleri) için mümkündür:
class MyClass
def initialize
@varname = :"@hello"
instance_variable_set @varname, "world"
end
def greet
puts instance_variable_get(@varname)
end
end
MyClass.new.greet
#=> "world"