重构方法将逗号添加到一串数字中

时间:2014-10-31 17:51:09

标签: ruby refactoring

我正在研究一种方法,将逗号添加到传递的数字中。 I.E. separate_commas(1000)将返回“1,000”或separate_commas(100000)将返回“100,000”......等。

现在我已经解决了,我想知道如果没有正则表达式我怎么能重构。会很感激的建议,谢谢你提前。 Ruby 2.1.1p76

def separate_comma(x)
  x=x.to_s
  len=-4
  until len.abs > x.length
    x.insert(len, ',')
    len-=4
  end
  return x
end

1 个答案:

答案 0 :(得分:0)

不完全漂亮,但它有点红宝石般的

num.to_s.reverse
        .split('').each_slice(3).to_a
        .map{|num| num.reverse.join('')}.reverse.join(',')