"> % irb -r complex -r rational
> irb(main):001:0> 1/Complex(Rational(3,2),1)
> Complex(Rational(6, 13), Rational(-4, 13))
Yup,

but you can (in fact should) templatize your C++ - complex library  ...
Ruby does not have any significant advantage here over C++.

Christoph