O yakut dinamik değişkenleri yapmak mümkün mü?

2 Cevap php

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"

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"

Yerel değişkenler için kullanmak zorunda eval.