如何理解这个Object.inspect结果?

时间:2013-12-15 00:25:44

标签: ruby

我是Ruby的新手,并试图学习绳索。我有一个调用Twitter API返回的对象。我想循环遍历下面的用户,并能够打印出不同的属性......比如:id,:screenname等。

顺便说一句,这些都是推特上的粉丝。因此,该对象被称为“追随者”,这就是我要求进行检查......“followers.inspect”

followers.inspect的主旨在这里: https://gist.github.com/anonymous/7966898/raw/938a0048d08f44415229b98a1adef96c4946ce8d/gistfile1.txt

我的问题是,我很难弄清楚这个.inspect打印出来与我应该寻找的匹配。

所以我写的代码试图解决这个问题......

followers.users.each do |i|
   puts "#{i.name} has user id #{i.id_str}"
end

我得到的错误是没有称为用户的方法。

抱歉,我确定这是一个非常简单的问题,但刚刚被卡住了!

1 个答案:

答案 0 :(得分:0)

据我所见,您拥有的对象包含一个带有密钥@attrs的哈希:users。 所以,它应该是这样的:

followers.attrs[:users].each do |i|
    puts "#{i.name} has user id #{i.id_str}"
end

也许你还需要使用i[:name],因为所有这些用户也是哈希,而不是带方法的对象,但我的Ruby有点生疏,所以我不知道这些方法是否自动可用密钥中存在密钥。

无论如何:检查中的{:key => "value"}表示它是带有键和值的哈希,您可以访问:nameofhash[:key]

[{:key => "value"},{:key => "value"}]表示它是一个包含两个单独哈希值的数组。