我在網上找到了這個代碼片段,目的是提交任意數字,包括帶小數的數字...... 99999999 => 99,999,999。我可以看到它使用正則表達式,但我對「1.reverse $,$ 2」糊塗說明Ruby Commify大整數方法
def commify(n)
n.to_s =~ /([^\.]*)(\..*)?/
int, dec = $1.reverse, $2 ? $2 : ""
while int.gsub!(/(,|\.|^)(\d{3})(\d)/, '\1\2,\3')
end
int.reverse + dec
end
誰能解釋什麼是這個代碼怎麼回事?