pub struct Range {
pub start: Value,
pub end: Value,
}
Expand description
Type for a range expression start..end
.
§Examples
let range = 0..10;
assert!(!range.contains(-10));
assert!(range.contains(5));
assert!(!range.contains(10));
assert!(!range.contains(20));
assert!(range is std::ops::Range);
Ranges can contain any type:
let range = 'a'..'f';
assert_eq!(range.start, 'a');
range.start = 'b';
assert_eq!(range.start, 'b');
assert_eq!(range.end, 'f');
range.end = 'g';
assert_eq!(range.end, 'g');
Certain ranges can be used as iterators:
let range = 'a'..'e';
assert_eq!(range.iter().collect::<Vec>(), ['a', 'b', 'c', 'd']);
§Examples
use rune::runtime::Range;
let start = rune::to_value(1)?;
let end = rune::to_value(10)?;
let _ = Range::new(start, end);
Fields§
§start: Value
The start value of the range.
end: Value
The to value of the range.
Implementations§
Source§impl Range
impl Range
Sourcepub fn partial_eq(&self, other: &Self) -> VmResult<bool>
pub fn partial_eq(&self, other: &Self) -> VmResult<bool>
Test the range for partial equality.
§Examples
let range = 'a'..'e';
assert!(range == ('a'..'e'));
assert!(range != ('b'..'e'));
let range = 1.0..2.0;
assert!(range == (1.0..2.0));
assert!(range != (f64::NAN..2.0));
assert!((f64::NAN..2.0) != (f64::NAN..2.0));
Sourcepub fn eq(&self, other: &Self) -> VmResult<bool>
pub fn eq(&self, other: &Self) -> VmResult<bool>
Test the range for total equality.
§Examples
use std::ops::eq;
let range = 'a'..'e';
assert!(eq(range, 'a'..'e'));
assert!(!eq(range, 'b'..'e'));
Trait Implementations§
Source§impl Any for Range
impl Any for Range
Source§const ANY_TYPE_INFO: AnyTypeInfo = _
const ANY_TYPE_INFO: AnyTypeInfo = _
The compile-time type information know for the type.
Source§impl InstallWith for Range
impl InstallWith for Range
Source§fn install_with(module: &mut Module) -> Result<(), ContextError>
fn install_with(module: &mut Module) -> Result<(), ContextError>
Hook to install more things into the module.
Source§impl MaybeTypeOf for Range
impl MaybeTypeOf for Range
Source§fn maybe_type_of() -> Result<DocType>
fn maybe_type_of() -> Result<DocType>
Type information for the given type.
Source§impl TypeOf for Range
impl TypeOf for Range
Source§const PARAMETERS: Hash = _
const PARAMETERS: Hash = _
Type parameters for the type. Read more
Source§const STATIC_TYPE_INFO: AnyTypeInfo = <Self as crate::Any>::ANY_TYPE_INFO
const STATIC_TYPE_INFO: AnyTypeInfo = <Self as crate::Any>::ANY_TYPE_INFO
Access diagnostical type information for the current type. Read more
Source§impl UnsafeToMut for Range
impl UnsafeToMut for Range
Source§type Guard = RawValueGuard
type Guard = RawValueGuard
The raw guard returned. Read more
Source§unsafe fn unsafe_to_mut<'a>(
value: Value,
) -> Result<(&'a mut Self, Self::Guard), RuntimeError>
unsafe fn unsafe_to_mut<'a>( value: Value, ) -> Result<(&'a mut Self, Self::Guard), RuntimeError>
Safety Read more
Source§impl UnsafeToRef for Range
impl UnsafeToRef for Range
Source§type Guard = RawValueGuard
type Guard = RawValueGuard
The raw guard returned. Read more
Source§unsafe fn unsafe_to_ref<'a>(
value: Value,
) -> Result<(&'a Self, Self::Guard), RuntimeError>
unsafe fn unsafe_to_ref<'a>( value: Value, ) -> Result<(&'a Self, Self::Guard), RuntimeError>
Safety Read more
Source§impl UnsafeToValue for &Range
impl UnsafeToValue for &Range
Source§type Guard = ValueRefGuard
type Guard = ValueRefGuard
The type used to guard the unsafe value conversion.
Source§unsafe fn unsafe_to_value(self) -> Result<(Value, Self::Guard), RuntimeError>
unsafe fn unsafe_to_value(self) -> Result<(Value, Self::Guard), RuntimeError>
Convert into a value. Read more
Source§impl UnsafeToValue for &mut Range
impl UnsafeToValue for &mut Range
Source§type Guard = ValueMutGuard
type Guard = ValueMutGuard
The type used to guard the unsafe value conversion.
Source§unsafe fn unsafe_to_value(self) -> Result<(Value, Self::Guard), RuntimeError>
unsafe fn unsafe_to_value(self) -> Result<(Value, Self::Guard), RuntimeError>
Convert into a value. Read more
Auto Trait Implementations§
impl Freeze for Range
impl !RefUnwindSafe for Range
impl !Send for Range
impl !Sync for Range
impl Unpin for Range
impl !UnwindSafe for Range
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)Source§impl<T> FromValue for Twhere
T: AnyMarker,
impl<T> FromValue for Twhere
T: AnyMarker,
Source§fn from_value(value: Value) -> Result<T, RuntimeError>
fn from_value(value: Value) -> Result<T, RuntimeError>
Try to convert to the given type, from the given value.
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> TryToOwned for Twhere
T: TryClone,
impl<T> TryToOwned for Twhere
T: TryClone,
Source§impl<T> UnsafeToValue for Twhere
T: ToValue,
impl<T> UnsafeToValue for Twhere
T: ToValue,
Source§unsafe fn unsafe_to_value(
self,
) -> Result<(Value, <T as UnsafeToValue>::Guard), RuntimeError>
unsafe fn unsafe_to_value( self, ) -> Result<(Value, <T as UnsafeToValue>::Guard), RuntimeError>
Convert into a value. Read more