阅读750 返回首页    go 阿里云 go 技术社区[云栖]


Mac OS X ft_rich游戏的进一步更改

    在前一篇文章里,我重构的原先windows下的ft_rich,使其不依赖C EXT即可以

正常完成彩色文字的打印,这得益于OS X的终端的彩色支持。

    接下来发现原先得rb文档编码方式为gbk,而OS X终端默认支持的是utf-8,包括

中文输入法也为utf-8编码。手动更改源代码比较麻烦,还是让ruby自己来转换吧。

#!/Users/apple/.rvm/rubies/ruby-1.9.3-p362/bin/ruby -w
#tool 4 gbk2utf8

src_file = $*[0]
f = File.open(src_file,"r:gbk")
fw = File.open(src_file+"_ed","w:utf-8")
f.each do |line|
	line.encode!("utf-8")
	fw.puts line
end

然后将其添加x属性:

chmod +x g2u8.rb

最后执行 ./g2u8.rb ft_rich.rb

再做的“智能”一点,或者说人性化一点:

#!/Users/apple/.rvm/rubies/ruby-1.9.3-p362/bin/ruby -w
#tool 4 gbk2utf8

src_file = $*[0]
x = File.split(src_file)
dst_file = x[0] << '/u8_' << x[1]
f = File.open(src_file,"r:gbk")
fw = File.open(dst_file,"w:utf-8")
f.each_with_index do |line,i|
	line.encode!("utf-8")
	if(i < 2)
		line.gsub!(/gbk/,"utf-8") if(line =~ /^#[ ]*cod*/)
	end
	fw.puts line
end



fw.close
`chmod +x #{dst_file}`

哦鸟!

最后更新:2017-04-04 07:03:41

  上一篇:go 【spring】一般情况下,我们一般建议在一对多双向关联关系中,将一方的inverse属性设置为true
  下一篇:go Core Data浅谈系列之九 : 使用Mapping Model