繁体   English   中英

无法访问哈希值

[英]Can't access Hash values

我有以下代码:

price = variant[merchant["variant_code"]]

转换为: variant["PRDCT-A"]但是我的问题是它返回nil因为我的variant哈希看起来像这样: {:"PRDCT-A"=>{:price=>1495.0}}它具有:我只通过了"PRDCT-A" ,它应该是:"PRDCT-A"

我已经尝试过concat但它不起作用,如何包含冒号以便可以访问哈希值?

如果我没记错的话,你的哈希结构可能像

merchant = {variant_code: 'PRDCT-A'}
variant = {:"PRDCT-A"=>{:price=>1495.0}}

并且您想借助商家哈希访问变量值

你应该试试看

variant.dig(merchant[:variant_code].to_sym)

请尝试使用with_indifferent_accessvariant哈希,如下所示-

variant = variant.with_indifferent_access

并使用相同的语句再次访问。

price = variant[merchant["variant_code"]]

我希望这有帮助。

您可以简单地转换为json并使用它。

variant = variant.as_json

variant['PRDCT-A']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM