pub trait CoerceToNumeric {
type Value: Value;
type Float;
type Error;
// Required method
fn coerce_to_float(
&mut self,
value: Self::Value,
) -> Result<Self::Float, Self::Error>;
}
Expand description
Coerce Ruby values to native numerics (floats and integers).
Required Associated Types§
Required Methods§
Sourcefn coerce_to_float(
&mut self,
value: Self::Value,
) -> Result<Self::Float, Self::Error>
fn coerce_to_float( &mut self, value: Self::Value, ) -> Result<Self::Float, Self::Error>
Coerce the given Ruby value to a Float
.
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.
See Numeric#coerce
.
§Errors
If a Ruby nil
is given, an error is returned.
If the given value does not subclass Numeric
, an error is returned.
If the Numeric
class is not defined, an error is returned.
If the underlying interpreter returns an error when calling #to_f
or
Numeric#coerce
, the error is returned.