3,注意这句话:$ini_hash[k] = v if v !=nil 。如果没有给键赋值(比如上面的RTP2和RTP3),那么不写进$ini_hash,主要是为了节省空间。当然不满意也可以把 if v !=nil 去掉。不过,相信总会有乱改 ini 的情况出现。^ -^ 作者: bbschat 时间: 2007-12-22 09:28 标题: 自定义并读取Game.ini文件 正好最近工作中要用,上网查了一下相关资料,觉得都不合用,就自己动手写了个比较简单的。
就拿RMXP的Game.ini文件做示范吧。
f = File.open(Dir.getwd << '\Game.ini')
$ini_hash = {}
f.each {|line|
line.gsub!(/\n/,"")
k,v = line.split(/=/)
$ini_hash[k] = v if v !=nil
}
p "Library的值是" + $ini_hash["Library"].to_s
p "Scripts的值是" + $ini_hash["Scripts"].to_s
p "Title的值是" + $ini_hash["Title"].to_s
p "RTP1的值是" + $ini_hash["RTP1"].to_s
p "RTP2的值是" + $ini_hash["RTP2"].to_s
p "RTP3的值是" + $ini_hash["RTP3"].to_s
p "OtherThing1的值是" + $ini_hash["OtherThing1"].to_s
p "OtherThing2的值是" + $ini_hash["OtherThing2"].to_s
3,注意这句话:$ini_hash[k] = v if v !=nil 。如果没有给键赋值(比如上面的RTP2和RTP3),那么不写进$ini_hash,主要是为了节省空间。当然不满意也可以把 if v !=nil 去掉。不过,相信总会有乱改 ini 的情况出现。^ -^ 作者: orochi2k 时间: 2007-12-22 09:34
[看不见偶~看不见偶]
#这里是不厚道的比较详细注释
f = File.open(Dir.getwd << '\Game.ini') #这里是打开文件GAME.INI
$ini_hash = {} #这里是建立哈希表
f.each {|line| #这里开始叠代(整个大括号里都是)
line.gsub!(/\n/,"") #这里是传说中的每行之间以换行符割开
k,v = line.split(/=/) #这里是每行之中用等于号前后分成两段存在K和V里
$ini_hash[k] = v if v !=nil #这里是将哈希组的第K个的值变成V,如果V不是空
}
#总结....其实66大的那个英语背单词软件的IO写得差不多....
[/看不见偶~看不见偶]