View difference between Paste ID: TA35nsHZ and TtNNhyND
SHOW: | | - or go back to the newest paste.
1
#!/usr/bin/env ruby -Ku
2
#coding: utf-8
3
4
=begin
5
つかいかた:
6-
$ ruby deflate.rb agc047_e.rb > agc047_e.min.rb
6+
$ ruby deflate-uriencode.rb agc047_e.rb
7
8
URIエンコードして出力します。
9
=end
10
11
require "zlib"
12
require "uri"
13
14
deflated = Zlib.deflate(ARGF.read.chomp, 9)
15
16
code =
17
	if deflated.include? ?\r
18
		# \rがあると''で囲めない(エスケープする必要がある〜
19
		'"' + deflated.gsub(/\\/, "\\\\").gsub(/"/, "\\\"").gsub(/#(?=\{)/, "\\#").gsub(/\r/, "\\r").gsub(/\n/, "\\n") + '"'
20
	else
21
		"'" + deflated.gsub(/\\'/, "\\\\'").gsub(/'/, "\\'") + "'"
22
	end
23
24
file = <<EOF.chomp
25
#!ruby -Knrzlib
26-
print file
26+
27
EOF
28
STDERR.puts "#{file.length} B"
29
puts URI.encode_www_form_component file