есть какой-то глобальный ресурс, нужно из него выгребсти либо все значения (если аргумент - None), либо только некоторые (если аргумент - Some). Идиоматично ли? Можно сделать лучше?
fn items(ids: Option<Vec<Id>>) -> Vec<Item> {
if let Some(ids) = ids {
ids.iter().map(|id| get_item(id)).collect()
} else {
get_all_items()
}
}
я бы по пустому вектору возвращал все значения
Я бы тоже разделил функцию на две, как тебе уже выше советовали, а то у тебя функция выполняет два дела сразу.
о, вот пока самое корректное решение (имзо)
Обсуждают сегодня