LINUX.ORG.RU

История изменений

Исправление DarkEld3r, (текущая версия) :

next() не работает

Работает, но требует мутабельного итератора, что в общем-то логично. Неудобно, что нет возможности получить значение «не двигая итератор дальше» (без дополнительных преобразований).

Обнаружил, что можно использовать и peekable:

println!("{}", args.peekable().peek().unwrap_or(&"EMPTY!!!".to_string()));
Сбило с толку описание - Return a reference to the next element of the iterator with out advancing it, or None if the iterator is exhausted. Возвращается как раз текущий элемент.

Идеологически это более правильно, пожалуй. Только получается даже чуть длиннее, чем уродство с take(1).last().

Исходная версия DarkEld3r, :

next() не работает

Работает, но требует мутабельного итератора, что в общем-то логично. Неудобно, что нет возможности получить значение «не двигая итератор дальше» (без дополнительных преобразований).

Обнаружил, что можно использовать и peekable:

println!("{}", args.peekable().peek().unwrap_or(&"EMPTY!!!".to_string()));
Сбило с толку описание - Return a reference to the next element of the iterator with out advancing it, or None if the iterator is exhausted. Возвращается как раз текущий элемент.