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.