相关疑难解决方法(0)

使用反向引用和散列时的Ruby gsub问题

以下代码定义了具有正则表达式(键)和替换(值)的哈希.然后它迭代哈希并相应地替换字符串.

简单的字符串替换效果很好,但是当我需要在替换它之前计算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)

谢谢!

ruby regex hash

2
推荐指数
1
解决办法
3189
查看次数

标签 统计

hash ×1

regex ×1

ruby ×1