有人能帮我理解关于twitter api和ruby的代码吗?它是一种基于twitter句柄检索所有追随者的方法
CSV到底做什么?(我知道这是一块宝石) 切片大小是多少?(第13行) 为什么csv在直括号内?(第16行)csv do | csv| 你能解释一下第17、18、19行吗?我完全听不懂 -----------------代码--------------------------------------------------有人能帮我理解关于twitter api和ruby的代码吗?它是一种基于twitter句柄检索所有追随者的方法,ruby,csv,twitter,gem,Ruby,Csv,Twitter,Gem,CSV到底做什么?(我知道这是一块宝石) 切片大小是多少?(第13行) 为什么csv在直括号内?(第16行)csv do | csv| 你能解释一下第17、18、19行吗?我完全听不懂 -----------------代码-------------------------------------------------- require 'twitter' require 'csv' def twitter_client @twitter_client
require 'twitter'
require 'csv'
def twitter_client
@twitter_client ||= Twitter::REST::Client.new do |config|
config.consumer_key = ""
config.consumer_secret = ""
config.access_token = ""
config.access_token_secret = ""
end
end
SLICE_SIZE = 100
def fetch_all_friends(twitter_username)
CSV do|csv|
twitter_client.follower_ids(twitter_username).each_slice
(SLICE_SIZE).with_index do |slice, i|
twitter_client.users(slice).each_with_index do |f, j|
csv << [i * SLICE_SIZE + j + 1, f.name,
f.screen_name]
end
end
end
end
require'twitter'
需要“csv”
def twitter_客户端
@twitter|client |=twitter::REST::client.new do | config|
config.consumer_key=“”
config.consumer_secret=“”
config.access_token=“”
config.access_token_secret=“”
结束
结束
切片大小=100
def fetch_all_friends(twitter_用户名)
CSV do | CSV|
twitter\u client.follower\u id(twitter\u用户名)。每个\u片段
(切片大小)。使用索引do |切片,i |
twitter|u client.users(slice)|
csv过去有一个gem更快的_csv
,你需要调用它,但现在不需要了。您只需要CSV库
它通常用于读取或创建CSV文件
当没有行号时,回答你的问题有点困难。您可以通过以下网址了解有关Ruby的CSV库的更多信息:以前有一个gemfaster\u CSV
,您需要调用它,但现在不需要了。您只需要CSV库
它通常用于读取或创建CSV文件
当没有行号时,回答你的问题有点困难。您可以通过以下网址了解有关Ruby的CSV库的更多信息:以前有一个gemfaster\u CSV
,您需要调用它,但现在不需要了。您只需要CSV库
它通常用于读取或创建CSV文件
当没有行号时,回答你的问题有点困难。您可以通过以下网址了解有关Ruby的CSV库的更多信息:以前有一个gemfaster\u CSV
,您需要调用它,但现在不需要了。您只需要CSV库
它通常用于读取或创建CSV文件
当没有行号时,回答你的问题有点困难。您可以通过以下网址了解有关Ruby的CSV库的更多信息:CSV是一个类,实现了对CSV数据的处理
each_slice
是一种Enumerable
方法,每次迭代只从源集合中获取这么多元素。例如,这样做是为了减少计算的内存需求,或者可能是为了在处理当前块之前延迟获取更多数据。SLICE\u SIZE
值是要获取的元素数
CSV do | CSV |
初始化CSV
对象,并将其作为参数传递给块。这是一种组织代码的方法,例如,初始化与块的业务逻辑分离。块由do
和end
关键字分隔
接下来的两行实际上是一条语句:
twitter_client.follower_ids(twitter_username).each_slice(SLICE_SIZE).with_index do |slice, i|
它从twitterapi获取twitter\u username
的跟随者id集合,从那里获取SLICE\u SIZE
块中的元素,并将每个块及其索引传递到另一个块中。此块的内容执行的次数与follower\u id
中的SLICE\u SIZE
块的执行次数相同
下一行
twitter_client.users(slice).each_with_index do |f, j|
仅适用于当前块的元素。它获取块的每个元素,并将其与块中的索引一起传递给另一个块
到目前为止,它更多的是收集处理,而不是实际的业务逻辑
最内在的陈述
csv << [i * SLICE_SIZE + j + 1, f.name, f.screen_name]
csvcsv是一个类,实现对csv数据的处理
each_slice
是一种Enumerable
方法,每次迭代只从源集合中获取这么多元素。例如,这样做是为了减少计算的内存需求,或者可能是为了在处理当前块之前延迟获取更多数据。SLICE\u SIZE
值是要获取的元素数
CSV do | CSV |
初始化CSV
对象,并将其作为参数传递给块。这是一种组织代码的方法,例如,初始化与块的业务逻辑分离。块由do
和end
关键字分隔
接下来的两行实际上是一条语句:
twitter_client.follower_ids(twitter_username).each_slice(SLICE_SIZE).with_index do |slice, i|
它从twitterapi获取twitter\u username
的跟随者id集合,从那里获取SLICE\u SIZE
块中的元素,并将每个块及其索引传递到另一个块中。此块的内容执行的次数与follower\u id
中的SLICE\u SIZE
块的执行次数相同
下一行
twitter_client.users(slice).each_with_index do |f, j|
仅适用于当前块的元素。它获取块的每个元素,并将其与块中的索引一起传递给另一个块
到目前为止,它更多的是收集处理,而不是实际的业务逻辑
最内在的陈述
csv << [i * SLICE_SIZE + j + 1, f.name, f.screen_name]
csvcsv是一个类,实现对csv数据的处理
each_slice
是一种Enumerable
方法,每次迭代只从源集合中获取这么多元素。例如,这样做是为了减少计算的内存需求,或者可能是为了在处理当前块之前延迟获取更多数据。SLICE\u SIZE
值是要获取的元素数
CSV do | CSV |
初始化CSV
对象,并将其作为参数传递给块。这是一种组织代码的方法,例如,初始化与块的业务逻辑分离。块由do
和end
关键字分隔
接下来的两行实际上是一条语句:
twitter_client.follower_ids(twitter_username).each_slice(SLICE_SIZE).with_index do |slice, i|
需要