【问题标题】:`<top (required)>': undefined method `“raf_ebooks' for main:Object (NoMethodError) -`<top (required)>': main:Object (NoMethodError) 的未定义方法 `“raf_ebooks' -
【发布时间】:2014-11-08 10:30:57
【问题描述】:

当尝试使用 ruby run.rb 运行我的 twitter_ebooks 机器人时,我收到此错误:

Faraday::Builder is now Faraday::RackBuilder.
/Users/Rafi/Desktop/my_ebooks/bots.rb:14:in `<top (required)>': undefined method `“raf_ebooks' for main:Object (NoMethodError)
    from run.rb:33:in `require_relative'
    from run.rb:33:in `<main>'

这是我正在使用的机器人的 git repo,如果有帮助的话:https://github.com/mispy/twitter_ebooks

这是 bots.rb 文件中的内容(为了安全起见,我删除了身份验证令牌和使用者密钥等):http://pastebin.com/gYqcMYhM

这个错误是什么意思,我该如何解决?谢谢。

编辑:我尝试在重新启动后再次运行它得到几乎相同的错误,除了 my_ebooks/bots.rb:14 它说 my_ebooks/bots.rb:13

Faraday::Builder is now Faraday::RackBuilder.
/Users/Rafi/Desktop/my_ebooks/bots.rb:13:in `<top (required)>': undefined local variable or method `“raf_ebooks”' for main:Object (NameError)
    from run.rb:33:in `require_relative'
    from run.rb:33:in `<main>'

【问题讨论】:

  • 你用的是什么文本编辑器?
  • @Substantial 我只是使用 TextEdit,Mac 的默认文本编辑器。

标签: ruby methods undefined nomethoderror


【解决方案1】:

您有 Ruby 无法识别的大括号​​。当您使用试图变得花哨的word processors 时,就会发生这种情况。

TWITTER_USERNAME = “raf_ebooks" # Ebooks account username
TEXT_MODEL_NAME = “raf_ebooks" # This should be the name of the text model

请注意损坏的语法突出显示。它们应该是“正常”的直引号:

TWITTER_USERNAME = "raf_ebooks" # Ebooks account username
TEXT_MODEL_NAME = "raf_ebooks" # This should be the name of the text model

好多了。

让自己成为一个体面的编辑器。 TextEdit 不适合编码。 TextMate 和 Sublime Text 是流行的商业编辑器。 GitHub 的Atom 是一个免费的编辑器,也很不错。

【讨论】:

    【解决方案2】:

    TWITTER_USERNAME 值的开头引用不是“常规”引用,而是某种智能引用。因此 Ruby 没有将其识别为字符串,并且变得相当混乱。

    【讨论】:

      猜你喜欢
      • 2015-01-23
      • 1970-01-01
      • 2012-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-22
      • 2023-03-30
      • 1970-01-01
      相关资源
      最近更新 更多