Conversion de texte Ruby

Utilisez Ruby pour convertir des programmes PHP. EUC_JP et CP51932 sont mélangés dans le code de caractère PHP. Python ne peut pas gérer CP51932, donc je l'ai écrit en Ruby.

Remplacez str_src par str_target. Si str_src est manquant, rien n'est fait.

file_filter.rb


#! /usr/bin/ruby
# -*- coding: utf-8 -*-
#
#	file_filter.rb 
#
#						Aug/09/2020
#
#
# --------------------------------------------------------------------
# [2]:
def read_proc(file_in)
	lines = []
	File.open(file_in) do |io|
		lines = io.readlines()
	end
#
	return lines
end
#
# --------------------------------------------------------------------
# [4]:
def convert_proc(lines)
	flag_convert = false
	str_src = '$var = $dict["aa"];'
	str_target = 'if(array_key_exists("aa",$dict)){$var = $dict["aa"];}'
	llx = str_src.size

	lines_new = []
	for line in lines do
		if line.slice(0,llx) == str_src then
			puts line
			lines_new.push(str_target)
			flag_convert = true
		else
			lines_new.push(line)
		end
#
end
#
	return flag_convert,lines_new

end
# --------------------------------------------------------------------
# [6]:
def out_proc(file_out,lines_new)
	File.open(file_out, mode = "w") do |f|
		lines_new.each{ |line| f.puts(line)}
	end
	STDERR.puts	file_out + " written ***"
end
# --------------------------------------------------------------------
STDERR.puts	"*** start ***"
file_in = ARGV[0]
#
lines = read_proc(file_in)
#
flag_convert,lines_new = convert_proc(lines)
#
if flag_convert then
	out_proc(file_in,lines_new)
end
#
STDERR.puts	"*** end ***"
# --------------------------------------------------------------------

Courir

./file_filter.rb in01.txt

Recommended Posts

Conversion de texte Ruby
Ruby apprentissage 4
Texte JavaFX
[Ruby] Tableau
Revue Ruby 2
Ajout de rubis
Ruby apprentissage 3
Paramètre Ruby 2
Problème de rubis ⑦
Ruby apprentissage 2
Ruby apprentissage 6
Paramètres Ruby 1
Ruby apprentissage 1
Ruby Review 1
[Ruby Mine] {} → Désactiver la conversion automatique en bloc de do..end