从Twitter api读取一些数据时,我将数据插入到文件中
results.each do |f|
running_count += 1
myfile.puts "#{f.user_mentions}"
...
结果(下面的2个样本行)在文件
中如下所示[#<Twitter::Entity::UserMention:0x007fda754035803485 @attrs={:screen_name=>"mr_blah_blah", :name=>"mr blah blah", :id=>2142450461, :id_str=>"2141354324324", :indices=>[3, 15]}>]
[#<Twitter::Entity::UserMention:0x007f490580928 @attrs={:screen_name=>"andrew_jackson", :name=>"Andy Jackson", :id=>1607sdfds, :id_str=>"16345435", :indices=>[3, 14]}>]
由于我实际感兴趣的唯一信息是:screen_name
,我想知道是否有办法只能将屏幕名称插入文件中。由于每一行都在数组括号中,然后我在@attrs
内寻找屏幕名称,我这样做了
myfile.puts "#{f.user_mentions[0]@attrs{"screen_name"}}"
这不起作用,我没想到,因为我不确定这是否是技术阵列等等。你能建议怎么做吗?
答案 0 :(得分:0)
假设结果是Twitter :: Entity :: UserMention
的数组results.each do |r|
myfile.puts r.screen_name
end
答案 1 :(得分:0)
您需要访问Twitter UserMention对象中的@attrs实例变量。如果你想根据你当前的输出放置第一个对象的屏幕名称,我会写
myfile.puts "#{f.user_mentions[0].attrs[:screen_name]"
此外,将代码放在返回结果的方式上将有助于快速得到明确的答案。干杯!