新手问题 ruby 中怎么实现可变变量

tablecell · 2019年10月17日 · 最后由 sevk 回复于 2019年10月18日 · 2311 次阅读

比如


$bj=100;
$sh=200;


$key='bj';

print  $$key;    // 100
$key='sh';
print  $$key ;   // 200 

用 eval, 例如

eval("$#{$key}")

全局变量好像没有好的办法,只能 eval.

像类变量,实例变量,本地变量都有方法。class_variable_get , local_variable_get, instance_variable_get, thread_variable_get

https://devdocs.io/ruby~2.6/module#method-i-class_variable_get

h={}
h['bj']=100;
h['sh']=200;

$key='bj'
print h[key]   

需要 登录 后方可回复, 如果你还没有账号请 注册新账号