Ruby - "形式参数不能是类变量"

时间:2017-01-17 07:02:29

标签: ruby

我之前从未使用过Ruby,并且我正试图在2006年运行一个程序。我已经安装了Ruby和gem包,但是当我尝试运行它时,我得到了一个错误:

xmltv2html.rb:231: formal argument cannot be a class variable

xmltv2html.rb:231: syntax error, unexpected '[', expecting '|'

特别是给我带来麻烦的地区是

     def parse_command_line_options
     ARGV.options do
        |opts|
        opts.banner = "Usage: #{File.basename($0)} < xmltv.xml > tv.html\n"


        # separater
        opts.on_tail
        opts.on_tail("common options:")

        opts.on("--configfile=FILE", String, "config file to use") {
           |@@options[:config_file]|}

        #more code after

我尝试使用的项目是&#39; xmltv2html&#39;。

特别是我做错了吗?我试过更改&#39; | @@选项&#39;到&#39; | @选项&#39;和&#39; | $ options&#39;但这只会更改错误消息以反映相关范围。

是否只是使用太旧的项目?

提前致谢

1 个答案:

答案 0 :(得分:4)

在Ruby 1.9.0(2007年发布)中删除了块参数的赋值语义。您将不得不重新构建代码以自行执行任务,如下所示:

opts.on("--configfile=FILE", String, "config file to use") do |config_file| 
  @@options[:config_file] = config_file
end