method
coerce
ruby latest stable - Class:
Numeric
coerce(p1)public
If numeric is the same type as num, returns an array [numeric, num]. Otherwise, returns an array with both numeric and num represented as Float objects.
This coercion mechanism is used by Ruby to handle mixed-type numeric operations: it is intended to find a compatible common type between the two operands of the operator.
1.coerce (2.5) #=> [2.5, 1.0] 1.2.coerce (3) #=> [3.0, 1.2] 1.coerce (2) #=> [2, 1]
static VALUE
num_coerce(VALUE x, VALUE y)
{
if (CLASS_OF(x) == CLASS_OF(y))
return rb_assoc_new(y, x);
x = rb_Float(x);
y = rb_Float(y);
return rb_assoc_new(y, x);
}