【发布时间】:2014-02-22 01:42:11
【问题描述】:
v = { "foo"=>"bar"}
v["foo"] // bar
说,
k = {:bar => 1}
>k[:bar] // 1
但是,
k[v["foo"]] // nil
如何使用变量从哈希中访问key ==> value ( k[ key ] = value ),比如v["foo"]
【问题讨论】:
v = { "foo"=>"bar"}
v["foo"] // bar
说,
k = {:bar => 1}
>k[:bar] // 1
但是,
k[v["foo"]] // nil
如何使用变量从哈希中访问key ==> value ( k[ key ] = value ),比如v["foo"]
【问题讨论】:
您需要在v["foo"] 的结果上运行to_sym 才能得到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
【讨论】: