Gtk4-tutorial/src/mktbl.rb

33 lines
534 B
Ruby
Raw Normal View History

require_relative '../lib/lib_mktbl.rb'
file = ARGV[0]
old = File.readlines file
in_stat = false
new = []
changed = false
tmp = []
old.each do |line|
if in_stat
if line == "@@@\n"
in_stat = false
new += mktbl tmp
else
tmp << line
end
elsif line == "@@@table\n"
changed = true
in_stat = true
tmp = []
else
new << line
end
end
new.each do |line|
if line[-1] != "\n"
line.sub!(/\z/,"\n")
end
end
exit unless changed
File.write file+".bak", old.join
File.write file, new.join