我是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
我得到的错误是没有称为用户的方法。
抱歉,我确定这是一个非常简单的问题,但刚刚被卡住了!
答案 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"}]
表示它是一个包含两个单独哈希值的数组。