Trait core::ops::Rem 1.0.0[−][src]
Expand description
余数运算符 %
。
请注意,默认情况下 Rhs
是 Self
,但这不是强制性的。
Examples
本示例在 SplitSlice
对象上实现 Rem
。
实现 Rem
后,可以使用 %
运算符将其拆分为给定长度的相等切片后,找出切片的其余元素。
use std::ops::Rem; #[derive(PartialEq, Debug)] struct SplitSlice<'a, T: 'a> { slice: &'a [T], } impl<'a, T> Rem<usize> for SplitSlice<'a, T> { type Output = Self; fn rem(self, modulus: usize) -> Self::Output { let len = self.slice.len(); let rem = len % modulus; let start = len - rem; Self {slice: &self.slice[start..]} } } // 如果将 &[0,1、2、3、4、5、6、7] 分成大小为 3 的切片,则其余部分将为 &[6,7]。 assert_eq!(SplitSlice { slice: &[0, 1, 2, 3, 4, 5, 6, 7] } % 3, SplitSlice { slice: &[6, 7] });Run
Associated Types
Required methods
Implementors
此操作满足 n % d == n - (n / d) * d
,但不能为 panic。
type Output = u16
此操作满足 n % d == n - (n / d) * d
,但不能为 panic。
type Output = u32
此操作满足 n % d == n - (n / d) * d
,但不能为 panic。
type Output = u64
此操作满足 n % d == n - (n / d) * d
,但不能为 panic。
type Output = u128
此操作满足 n % d == n - (n / d) * d
,但不能为 panic。
type Output = usize
此操作满足 n % d == n - (n / d) * d
。
结果具有与左操作数相同的符号。
Panics
This operation will panic if other == 0
or if self / other
results in overflow.
此操作满足 n % d == n - (n / d) * d
。
结果具有与左操作数相同的符号。
Panics
This operation will panic if other == 0
or if self / other
results in overflow.
此操作满足 n % d == n - (n / d) * d
。
结果具有与左操作数相同的符号。
Panics
This operation will panic if other == 0
or if self / other
results in overflow.
此操作满足 n % d == n - (n / d) * d
。
结果具有与左操作数相同的符号。
Panics
This operation will panic if other == 0
or if self / other
results in overflow.
此操作满足 n % d == n - (n / d) * d
。
结果具有与左操作数相同的符号。
Panics
This operation will panic if other == 0
or if self / other
results in overflow.
此操作满足 n % d == n - (n / d) * d
。
结果具有与左操作数相同的符号。
Panics
This operation will panic if other == 0
or if self / other
results in overflow.