以下代码定义了具有正则表达式(键)和替换(值)的哈希.然后它迭代哈希并相应地替换字符串.
简单的字符串替换效果很好,但是当我需要在替换它之前计算resut(几年到几天的情况发生变化)时,它不会.并且预先定义哈希是关键.
我错过了什么?任何帮助将非常感激.
a = "After 45 years we cannot use this thing."
hash = {
/(\d+) years/ => "#{$1.to_f*2}" + ' days',
/cannot/ => 'of course we CAN'
}
hash.each {|k,v|
a.gsub!(k) { v }
}
puts a
Run Code Online (Sandbox Code Playgroud)
谢谢!