challenge データの圧縮と展開

データを圧縮するcompress、展開するdecompressという関数やメソッドなどを書いてください。データはバイト列でもストリームでもそれ以外の形式でもOKです。

圧縮形式は問いませんが、できるだけ一般的なフォーマット(zip,lzhなど)でお願いします。

また、標準以外のライブラリを使う場合には出典の記載をお願いします。

「○○でも実用的な圧縮/展開プログラムがかけるんだぞ!」というのを、ぜひ示してください。

Posted feedbacks - Ruby

Ruby の投稿がなかったので、投稿してみます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
require 'zlib'

def compress(file_name, data)
  Zlib::GzipWriter.open(file_name) do |gz|
    gz << data
  end 
end

def decompress(file_name)
  Zlib::GzipReader.open(file_name) do |gz|
    gz.read
  end
end

if __FILE__ == $0
  file_name = "hoge.gz"
  data = "Zlib::GzipFile\nZlib::GzipWriter\nZlib::GzipReader"
  compress file_name, data
  print decompress file_name
end

Index

Feed

Other

Link

Pathtraq

loading...