当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust array.each_ref用法及代码示例


本文简要介绍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-lang.org大神的英文原创作品 array.each_ref。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。