v = { "foo"=>"bar"}
v["foo"] // bar
说,
k = {:bar => 1}
>k[:bar] // 1
但是,
k[v["foo"]] // nil
如何使用变量(例如key ==> value ( k[ key ] = value )
v["foo"]
答案 0 :(得分:1)
您需要在to_sym
的结果上运行v["foo"]
才能获得k
中的值:
1.9.3p484 :007 > v = { "foo"=>"bar"}
=> {"foo"=>"bar"}
1.9.3p484 :008 > k = {:bar => 1}
=> {:bar=>1}
1.9.3p484 :009 > k[v["foo"].to_sym]
=> 1