ruby - 如何运行 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
我想打开字典。不确定我想做的是否就是我必须做的。
解决方案
如果你下载了你提到的整个 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
推荐阅读
- python - 错误:无法创建临时目录“C:\Users\user\AppData\Local\Temp\conda-
\" - angular - 将Angular与JWT的spring boot连接时出现CORS错误
- azure - 使用 APEX 生成 Azure Blob SAS 令牌
- javascript - 文本溢出:悬停时省略滚动文本
- python-3.x - 将文件拖放到终端时输入长度限制为 1024 个字符?
- python - 在组中添加缺失的行
- wordpress - 将 lightsail 实例从子域移动到子文件夹
- javascript - 为什么在分叉的Node进程完成执行脚本后节点保持进程处于活动状态
- apache-flink - 读取 Flink 中追加的文件
- android - 更新具有相同签名的 apk 后再次出现被 Play Protect 阻止