From d752cf7601adbe4bc2dc658effc2f61563a7dfb7 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Fri, 25 Nov 2022 14:22:37 +0900 Subject: Use class methods of `File` over `Kernel.open` and `IO.read` --- sample/coverage.rb | 2 +- sample/from.rb | 2 +- sample/mpart.rb | 44 +++++++++++++++++++++++++++----------------- sample/uumerge.rb | 2 +- 4 files changed, 30 insertions(+), 20 deletions(-) (limited to 'sample') diff --git a/sample/coverage.rb b/sample/coverage.rb index 8e8d6167e2..42ba89fd50 100644 --- a/sample/coverage.rb +++ b/sample/coverage.rb @@ -49,7 +49,7 @@ at_exit do end end - open(cfile, "w") do |out| + File.open(cfile, "w") do |out| covs.zip(sources, pcovs).each_with_index do |(cov, line, pcov), idx| cov += pcov || 0 if cov cov = (cov ? (cov == 0 ? "#####" : cov.to_s) : "-").rjust(9) diff --git a/sample/from.rb b/sample/from.rb index db1299c869..0e5a08de5f 100644 --- a/sample/from.rb +++ b/sample/from.rb @@ -62,7 +62,7 @@ def from_main if File.exist?(file) atime = File.atime(file) mtime = File.mtime(file) - open(file, "r") do |f| + File.open(file, "r") do |f| until f.eof? header = {} f.each_line do |line| diff --git a/sample/mpart.rb b/sample/mpart.rb index a88eba0ef6..eeb895d3de 100644 --- a/sample/mpart.rb +++ b/sample/mpart.rb @@ -2,11 +2,29 @@ # split into multi part # usage: mpart.rb [-nnn] file.. +class MPart < File + def self.new(basename, extname, part, parts) + super(sprintf("%s.%s%02d", basename, extname, part), "w"). + begin_mpart(basename, part, parts) + end + + def begin_mpart(basename, part, parts) + printf("%s part%02d/%02d\n", basename, part, parts) + write("BEGIN--cut here--cut here\n") + self + end + + def close + write("END--cut here--cut here\n") + super + end +end + lines = 1000 if (ARGV[0] =~ /^-(\d+)$/ ) - lines = $1.to_i; - ARGV.shift; + lines = $1.to_i + ARGV.shift end basename = ARGV[0] @@ -14,31 +32,23 @@ extname = "part" part = 1 line = 0 +ofp = nil fline = 0 -for i in ifp = open(basename) - fline = fline + 1 -end -ifp.close +File.foreach(basename) {fline += 1} parts = fline / lines + 1 -for i in ifp = open(basename) +File.foreach(basename) do |i| if line == 0 - ofp = open(sprintf("%s.%s%02d", basename, extname, part), "w") - printf(ofp, "%s part%02d/%02d\n", basename, part, parts) - ofp.write("BEGIN--cut here--cut here\n") + ofp = MPart.new(basename, extname, part, parts) end ofp.write(i) - line = line + 1 - if line >= lines and !ifp.eof? - ofp.write("END--cut here--cut here\n") + line += 1 + if line >= lines ofp.close - part = part + 1 + part += 1 line = 0 end end -ofp.write("END--cut here--cut here\n") ofp.close - -ifp.close diff --git a/sample/uumerge.rb b/sample/uumerge.rb index 2576bcb864..1b81582c24 100644 --- a/sample/uumerge.rb +++ b/sample/uumerge.rb @@ -15,7 +15,7 @@ while line = gets() if out_stdout out = STDOUT else - out = open($file, "w") if $file != "" + out = File.open($file, "w") if $file != "" end out.binmode break -- cgit v1.2.1