本帖最后由 taroxd 于 2016-1-20 08:05 编辑
这里完全没有看出来使用 block 的必要呢……
GS = { /\\red\{(.*?)\}/ => '\\c[2]\\1\\c[0]', /\\col\[(\d+)\]\{(.*?)\}/ => '\\c[\\1]\\2\\c[0]' } text = '\\red{VIPArcher}' GS.each_pair do |regex, str| text.gsub!(regex, str) end text # => '\\c[2]VIPArcher\\c[0]'
GS = {
/\\red\{(.*?)\}/ => '\\c[2]\\1\\c[0]',
/\\col\[(\d+)\]\{(.*?)\}/ => '\\c[\\1]\\2\\c[0]'
}
text = '\\red{VIPArcher}'
GS.each_pair do |regex, str|
text.gsub!(regex, str)
end
text # => '\\c[2]VIPArcher\\c[0]'
另外,你这样写一个哈希表并没有比下面这些代码少打多少字。所以你完全可以直接一行一行写嘛。
text.gsub!(/xxx/, xxx) text.gsub!(/yyy/, yyy)
text.gsub!(/xxx/, xxx)
text.gsub!(/yyy/, yyy)
|