首页 > 解决方案 > 如何运行 ruby​​ 脚本来解压缩文件?

问题描述

我需要有关 ruby​​ 代码的帮助。我找到了一个使用 ruby​​ 脚本压缩的意大利语词典。由于我没有使用 Ruby 的经验,我正在尝试使用提供的脚本来解压缩我在这里找到的文件:https ://github.com/mircomacrelli/italian-dictionary 。

我已经尝试从这里下载字典:https ://github.com/mircomacrelli/italian-dictionary

我已经上传了字典文件 (italian.dic.fc) 以使用在线编译器运行脚本 (名为 dictionary-expand.rb):https ://repl.it/languages/ruby 。我正在使用的 ruby​​ 脚本如下。

  require 'zlib'
abort 'No input file specified' if ARGV.empty?

Zlib::GzipReader.open(ARGV.first) do |gz|
  File.open(File.basename(ARGV.first, 'italian.dic.fc'), 'w') do |out|
    last = ''
   until gz.eof
      counter = gz.getc.ord
      delta = gz.gets.strip
      last = last[0, counter] + delta
      out.puts last
    end
  end
end

我想打开字典。不确定我想做的是否就是我必须做的。

标签: ruby

解决方案


如果你下载了你提到的整个 repo,在它的目录中运行它就足够了:

ruby dictionary-expand.rb italian.dic.fc

无需更改脚本。

如果你想在这个 REPL 中运行它,脚本看起来像这样:

require 'zlib'
file = 'italian.dic.fc'
Zlib::GzipReader.open(file) do |gz|
  File.open(File.basename(file, '.fc'), 'w') do |out|
    last = ''
    until gz.eof
      counter = gz.getc.ord
      delta = gz.gets.strip
      last = last[0, counter] + delta
      out.puts last
    end
  end
end

推荐阅读