Я занимаюсь Упражнением 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();
}
Мое понимание чегоявляется то, что правая часть выдаст массив из двух &str
s, если строка имеет ненулевую длину, или не вернет ничего, а левая часть сохранит ее как опцию (чтобы позже я мог сопоставитьна Some
или None
)
Ошибка:
no method named 'collect' found for type std::option::Option<&str> in the current scope
Это не имеет смысла для меня, так как я (думаю) я пытаюсь собрать выводитератора, я не собираю опцию.