【发布时间】:2019-01-21 20:15:13
【问题描述】:
我正在处理Exercism Rust 问题,其中字符串具有任意长度,但可能为空,并且需要根据其最后两个字素进行分类。
我的理解是,Option 用于解释可能为空或不为空的东西,而这在编译时是未知的,所以我试过这个:
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();
}
我对此的理解是,如果字符串长度不为零,则右侧将给出一个包含两个&strs 的数组,或者将不返回任何值,而左侧将其存储为选项(这样我以后可以匹配 Some 或 None)
错误是:
no method named 'collect' found for type std::option::Option<&str> in the current scope
这对我来说没有意义,因为我(认为)我正在尝试收集迭代器的输出,我不是收集一个选项。
【问题讨论】:
标签: rust