例如,如果我们有一个像这样的字符串:
duration = "2.days"
如何在“2.days”内将此 2 乘以 3 并得到:“6.days”
如果您打算使用辅助方法:
2.days
# => 2 days
2.days * 3
# => 1036800
如果您要操作字符串:
duration = "2.days"
p = duration.split('.')
[ p[0].to_i * 3, p[1] ].join('.')
# => "6.days"
如果您想将“5.months 2.days 3.minutes”之类的字符串相乘,则以下代码很有用
"5.months 2.days 3.minutes".gsub(/\d+/){|s| s.to_i*3}
=> "15.months 6.days 9.minutes"
当您想以字符串开头并生成字符串时,正则表达式通常是最好的方法。
"2.days".sub(/\d+/){|s| s.to_i*3}
duration = "2.days"
duration[0] = (duration[0].to_i * 3).to_s
p duration # => "6.days"
(duration.split('.').first.to_i * 3).to_s + '.days'