Rust 为什么我会得到这个错误;找不到类型选项“collect”的方法;?
我正在做一个生锈的问题,其中一个字符串具有任意长度,但可以为null,并且需要根据其最后两个图形进行分类 我的理解是,Rust 为什么我会得到这个错误;找不到类型选项“collect”的方法;?,rust,Rust,我正在做一个生锈的问题,其中一个字符串具有任意长度,但可以为null,并且需要根据其最后两个图形进行分类 我的理解是,选项用于解释在编译时未知时可能为null或不为null的内容,因此我尝试了以下方法: extern crate unicode_segmentation; use unicode_segmentation::UnicodeSegmentation; pub fn reply(message: &str) -> &str { let message
选项
用于解释在编译时未知时可能为null或不为null的内容,因此我尝试了以下方法:
extern crate unicode_segmentation;
use unicode_segmentation::UnicodeSegmentation;
pub fn reply(message: &str) -> &str {
let message_opt: Option<[&str; 2]> = message.graphemes(true).rev().take(2).nth(0).collect();
}
这对我来说没有意义,因为我(认为)我正在尝试收集迭代器的输出,而不是收集选项。错误消息没有骗你<代码>选项不有一个名为
收集
的方法
我(想)我正在尝试收集迭代器的输出
返回一个选项
<代码>选项未实现迭代器
;您不能在其上调用collect
选项
您也不能这样做:
我会把它写成
let mut graphemes = message.graphemes(true).fuse();
let message_opt = match (graphemes.next_back(), graphemes.next_back()) {
(Some(a), Some(b)) => Some([a, b]),
_ => None,
};
哈哈,我不认为这是在骗我:)哦,我认为这个选项指的是左手边,这就是为什么我感到困惑。