通过写一个简单的配置文件,自动扩展生成相应的代码,从而可以偷点小懒。
配置文件如下:
TextView:money
TextView:name
TextView:age
ImageView:headImg
ruby 代码生成器如下:
require 'erb'
class FindViewById
class << self
def get_type_ab(type)
case type
when "TextView"
"Tv"
when "ImageView"
"Iv"
when "GridView"
"Gv"
when "ListView"
"Lv"
when "Gallery"
"Gv"
end
end
def get_attrs_from(conf_file)
File.open(conf_file) do |f|
result = []
f.each_line do |line|
line = line.chomp
line = line.gsub(/\s+/,"")
type_name = line.split(":")
next if type_name.size != 2
name = nil
name = "m" << type_name[1].capitalize
ab = get_type_ab(type_name[0])