将多维度数组中的String转换为Integer

| 当执行
YAML::dump(result)
时,我有一个看起来像这样的变量(
result
):
responseHeader: 
  status: 0
  QTime: 1
  params: 
    wt: ruby
    q: enid:(15542697739)
response: 
  numFound: 1
  start: 0
  docs: 
  - enid: \"15542697739\"
我想像这样对ѭ3进行条件比较:
if result[\"response\"][\"docs\"][\"enid\"].to_i == num[\'1\'][\'car\']
其中
num[\'1\'][\'car\']
是整数。 每当我尝试这样做时,都会抛出TypeError,
can\'t convert String into Integer
(TypeError)
即使我尝试
result[\"response\"][\"docs\"][\"enid\"].to_i
要么
Integer(result[\"response\"][\"docs\"][\"enid\"])
如何将
enid
值转换为整数,以便进行比较?
已邀请:
问题在于ѭ10中的内容不是哈希,而您正在像那样处理它。在这种情况下,您需要的是ѭ11。如果您想了解原因,请尝试使用“ 12”来了解每个级别使用的Ruby数据结构。即使您已经阅读了一段时间,YAML也会在这里产生误导。

要回复问题请先登录注册