从密钥在Ruby哈希访问值
问题描述:
所以我有一个哈希:从密钥在Ruby哈希访问值
test = {"_id"=>"5516c07ba520e0066c9ac53c", "accounts"=>[], "address"=>{"zip"=>"45245", "state"=>" Ohio", "city"=>"Cincinnati", "street"=>"3320 Wagner Road"}, "first_name"=>"Black", "last_name"=>"Bart"}
,我只是玩弄的红宝石控制台。要访问_id处的值,我认为命令应该是测试。[key]。但是我运行测试。[__id]并且不断收到错误。这看起来很简单,但我缺少一些语法。
答
首先,没有.
。否则,你将不得不访问像arr.[](0)
这样的数组,像1.+(2)
等添加数字等。为了使这更加“自然”,Ruby添加了syntaxic糖,在调用具有某些名称的方法时不需要.
(例如[]
,+
,等等。)。
其次,你没有一个名为_id
的变量。你需要把它作为一个字符串传递。
puts test["_id"]
答
您应该使用test["_id"]
代替
的至少是一个例外,该规则,我所知道的(有可能是其他人),即四个方法之一来调用'在拉姆达call' 'l':'l。(* args)','l'和'('之间的点是必需的(其他三种方法是'l.call(* args)','l.yield(* args) )'和'last [* args]'。) – 2015-04-05 03:34:26