我之前从未使用过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;但这只会更改错误消息以反映相关范围。
是否只是使用太旧的项目?
提前致谢
答案 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