есть какой-то глобальный ресурс, нужно из него выгребсти либо все значения (если аргумент - 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()
                  
                  
                      }
                  
                  
                  }
                  
                  
                
я бы по пустому вектору возвращал все значения
Я бы тоже разделил функцию на две, как тебе уже выше советовали, а то у тебя функция выполняет два дела сразу.
о, вот пока самое корректное решение (имзо)
Обсуждают сегодня