Могу ли я использовать dji windows sdk для управления несколькими самолетами в режиме реального времени и получения изображений, которые они передают обратно?

Если ваше поле является Option, существует специальный метод, который вы можете использовать - Option::take :

struct A {
    field: Option,
}

fn foo(a: &mut A) {
    let old = a.field.take();
    // a.field is now None, old is whatever a.field used to be
}

Реализация take использует mem::replace, как и , более общий ответ показывает , но он отлично обернут для вас:

pub fn take(&mut self) -> Option {
    mem::replace(self, None)
}

0
задан xiaoda 27 March 2019 в 07:15
поделиться

0 ответов

Другие вопросы по тегам:

Похожие вопросы: