Я помню слова, указанные Matz: Ruby 1.8 скоро будет мертв. Но у меня нет выбора. Здесь я использую Ruby 1.8.7
. Big Decimal ведет себя по-разному по сравнению с более поздней версией Ruby.Ruby 1.8 BigDecimal
Например:
ree-1.8.7-2011.12 :001 > require 'bigdecimal'
=> true
ree-1.8.7-2011.12 :002 > b=BigDecimal('0.0')
=> #<BigDecimal:9ce7148,'0.0',4(8)>
ree-1.8.7-2011.12 :003 > b
=> #<BigDecimal:9ce7148,'0.0',4(8)>
ree-1.8.7-2011.12 :004 > b==0
=> true
ree-1.8.7-2011.12 :005 > [b,b,0,0].uniq
=> [#<BigDecimal:9ce7148,'0.0',4(8)>, #<BigDecimal:9ce7148,'0.0',4(8)>] #Integer 0 is removed
ree-1.8.7-2011.12 :008 > [b,b,0,0].uniq.uniq
=> [#<BigDecimal:9ce7148,'0.0',4(8)>] #Applying two times uniq gives desired result for given array
Есть ли патч, чтобы исправить эту проблему? Извините, у меня нет возможности обновить Ruby. Любая помощь? Спасибо.