Pull to refresh

Comments 10

UFO landed and left these words here

Обилие конструкций вида


match foo {
     Some(s) => do_some(s),
     None => return
}

Наводят на мысль, что вам следует ознакомится с замечательным методом Option::map.


Спасибо за статью, попозже ознакомлюсь с ней поподробней, может быть еще советы появятся.

Спасибо. Просто у меня там в коде ссылка &Option &lt UdpSocket &gt . метод Option::map забирает переменную во владение а мне нужно было работать именно с ссылкой поэтому я не стал его использовать. Либо надо было весь код переписывать.
Получилось
   socket.as_ref().map(|s|s.send(message.as_bytes())
            .map_err(|e|println!("Error can't send {}",e)));

Было
  match socket {
            Some(s) => { s.send(message.as_bytes())
                .map_err(|e|println!("Error can't send {}",e)); }
            _ => return,
        }
Azul умеет работать в стиле Elm, когда пользовательский код не модифицирует DOM, а пересоздает его по модели каждый раз. Пытавшись сделать что-нибудь фронтендное я с ручной работой с DOM не справился, но Elm меня спас.
Я видел relm, но при попытке его использовать у меня начались какие-то глюки внутри GTK. Так что поиск аналога Elm для десктопа я продолжаю.
Sign up to leave a comment.

Articles