【发布时间】:2013-11-23 12:51:29
【问题描述】:
我在使用 twitter_user.rb 时遇到问题,它应该获取给定 Twitter 用户名的推文、关注者和关注的数量。
我假设我应该将第 9 行中的 TWITTER_USERNAME 替换为我感兴趣的 Twitter 用户名。我这样做了并开始冲刺,但我得到了:
scheduler caught exception:
undefined method '[]' for nil:NilClass
/.../jobs/twitter_user.rb:19:in 'block in <top (required)>'
看起来问题出在第 19 行,即:
tweets = /profile["']>[\n\t\s]*<strong>([\d.,]+)/.match(response.body)[1].delete('.,').to_i
谁能告诉我发生了什么以及如何解决它?
【问题讨论】:
-
问题是代码没有以聪明的方式编写。使用正则表达式来解析 XML 或 HTML 是一种等待,除非它的内容由编写代码的人拥有并且该内容不会改变并且这是一项微不足道的任务。更改这三个中的一个,代码破坏的几率会迅速上升。我们需要查看您遇到的 HTML 示例,以便重现问题。 “有关您编写的代码问题的问题必须在问题本身中描述具体问题 - 并包括有效的代码来重现它。有关指导,请参阅 SSCCE.org。”
-
我认为你是对的。它甚至看起来不像是在他们制作的 webapp 上运行的作业foobugs-dashboard.herokuapp.com/tv