Этот ответ относится к версии Rust до версии 1.0, и необходимые функции были удалены
blockquote>Вы можете использовать функцию
std::result::fold
для этого , Он останавливает повторение после встречи с первымErr
.Пример программы, которую я только что написал:
fn main() { println!("{}", go([1, 2, 3])); println!("{}", go([1, -2, 3])); } fn go(v: &[int]) -> Result
, String> { std::result::fold( v.iter().map(|&n| is_positive(n)), vec![], |mut v, e| { v.push(e); v }) } fn is_positive(n: int) -> Result { if n > 0 { Ok(n) } else { Err(format!("{} is not positive!", n)) } } Выход:
Ok([1, 2, 3]) Err(-2 is not positive!)
Я использовал следующий способ для указания порта прослушивания в командной строке:
flask run --host=0.0.0.0 --port=80
То, как вы использовали свой код (app.run
), если я помню правильно, не рекомендуется в текущем выпуске колбы (использовать flask run
для запуска сервера вместо python app.py
).
Вы можете обратиться к этой странице для общего введения.
В моем понимании, новый способ значительно упрощает определение различных портов для различных сценариев.