将ROR中字符串和整数的组合中的整数相乘



例如,如果我们有一个字符串,如:

duration = "2.days" 

如何在"2.天"内将这个2乘以3,得到:"6.天"

如果您想使用辅助方法:

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.split('.').first.to_i * 3).to_s + '.days'
duration = "2.days" 
duration[0] = (duration[0].to_i * 3).to_s
p duration # => "6.days"

最新更新