如此多的错误&Bareword发现了运营商的预期和#39;发生在我的红宝石脚本中

时间:2014-08-28 10:31:46

标签: ruby

我将ruby从1.9.3升级到2.0.0

升级后,我再也无法运行我的脚本,因为有太多错误。

更新 我更新了脚本的开头部分。

错误

Bareword found where operator expected at D:\ex\report.rb line 12, near "$0
  def"
        (Missing operator before def?)
Bareword found where operator expected at D:\ex\report.rb line 18, near "usage"
        (Missing semicolon on previous line?)
Semicolon seems to be missing at D:\ex\report.rb line 19.
syntax error at D:\ex\report.rb line 5, near "Encoding::UTF_8 require "
Execution of D:\jenkins_lab_a\asap.ex\asap-report-apps.rb aborted due to compilation errors.

脚本

# coding: utf-8
Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8

require './lib/utils'
require './lib/klocwork'
require './lib/td'
require 'fileutils'
require 'logger'

if __FILE__ == $0
  def usage
    warn 'usage: report.rb [a] [b] [c]'
    warn "ex) report.rb a b c"
    exit
  end
  puts "report.rb start"
  usage if ARGV.size < 3   

end

我可以在整个脚本中看到这样的错误。 但是我从来没有改变过我的剧本,而且它在以前的版本中运行良好。

所以我认为我错过了任何环境设置

你可以告诉我我可以检查什么来解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

这些不是Ruby错误消息。您没有使用Ruby解释器运行Ruby文件。 Ruby中没有“bareword”的概念,分号完全是可选的,所以也不会报告它们。