Vec
をOption
で繰り返し処理する方法がわかりません。特定の条件が要素の型に合っている場合にのみ動作します。オプション<Vec<T>>で照合することはできますか?
具体的には、ネットワークインターフェイス(IPv4またはIPv6)の可能なすべてのIPアドレスを繰り返し処理し、v4アドレスで何かを実行したいネットワークアプリケーションに取り組んでいます。この場合は印刷したいので、Display
を実装する必要があります。
Debug
フォーマッタで私の値を印刷し、私が取得:
Option<Vec<std::net::IpAddr>>
ある
Some([V6(fe80::6a5b:35ff:fec7:5eeb), V4(10.0.11.241)])
。私はベクトルを繰り返して、のアドレスで、Display
の実装を介して遭遇するすべてのものを繰り返したいと思っています。
pub enum IpAddr {
V4(Ipv4Addr),
V6(Ipv6Addr),
}
として定義されていることをどのように私はタイプに(だけ私の場合はV4
を)列挙型が一致していますか?詳細について
のStackOverflowへようこそ!ここでは、あなたの問題に何らかの努力を払い、あなたがあなたの質問に試したことを記述することが期待されています。下落を避けるために、「これを試しましたが、うまくいかない」や「この言語機能を実際に理解していません」のように、質問に詳細を追加することができます。 –
"私はDisplayメソッドを実装する必要があることを知っている" - >それはあなたが2つの質問をしているか、少なくとも2つのトピックを混合しているようだ。 "[...] Vecのオプションを反復する - >あなたが' Option> 'と言ったタイトルの中にはオプションのベクトルではなくオプションのベクトルがあります。あなたの問題を解決しようとしているコードをいくつかお見せしましょうか?たとえそれが不完全なスーパーであっても、それはおそらく私たちを多く助けます! –