本文简要介绍rust语言中 array.each_ref
的用法。
用法
pub fn each_ref(&self) -> [&T; N]
借用每个元素并返回与 self
大小相同的引用数组。
示例
#![feature(array_methods)]
let floats = [3.1, 2.7, -1.0];
let float_refs: [&f64; 3] = floats.each_ref();
assert_eq!(float_refs, [&3.1, &2.7, &-1.0]);
如果与其他方法(例如 map
)结合使用,此方法特别有用。这样,如果原始数组的元素不是 Copy
,则可以避免移动原始数组。
#![feature(array_methods)]
let strings = ["Ferris".to_string(), "♥".to_string(), "Rust".to_string()];
let is_ascii = strings.each_ref().map(|s| s.is_ascii());
assert_eq!(is_ascii, [true, false, true]);
// We can still access the original array: it has not been moved.
assert_eq!(strings.len(), 3);
相关用法
- Rust array.each_mut用法及代码示例
- Rust array.map用法及代码示例
- Rust array.split_array_ref用法及代码示例
- Rust array.zip用法及代码示例
- Rust array.split_array_mut用法及代码示例
- Rust array用法及代码示例
- Rust args用法及代码示例
- Rust args_os用法及代码示例
- Rust assert_ne用法及代码示例
- Rust assert_matches用法及代码示例
- Rust addr_of_mut用法及代码示例
- Rust alloc_zeroed用法及代码示例
- Rust align_of用法及代码示例
- Rust always_abort用法及代码示例
- Rust assert_eq用法及代码示例
- Rust available_parallelism用法及代码示例
- Rust addr_of用法及代码示例
- Rust abort用法及代码示例
- Rust align_of_val用法及代码示例
- Rust assert用法及代码示例
- Rust alloc用法及代码示例
- Rust align_of_val_raw用法及代码示例
- Rust UdpSocket.set_multicast_loop_v6用法及代码示例
- Rust i64.overflowing_add_unsigned用法及代码示例
- Rust Box.downcast用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 array.each_ref。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。