0
私はいくつかの要求をするためにハイパーライブラリを使用しようとしています。 Headers::get()
メソッドはOption<&H>
を返します。H
は1つのフィールドを持つタプル構造体です。私はif let Some()
を使ってOption
を分解することができます。しかし、我々はどのように&H
を破壊するのですか?確かに私はいつも.0
でフィールドにアクセスすることができましたが、Rustにこれを行う構文があるのは不思議です。タプル構造体を参照で分解する方法
struct s(String);
fn f(input: &s) -> &s {
input
}
fn main() {
let my_struct1 = s("a".to_owned());
let s(foo) = my_struct1;
let my_struct2 = s("b".to_owned());
let &s(bar) = f(&my_struct2); // this does not work
let baz = &my_struct2.0; // this works
}
ではなく、あなたの答えのように:私は、これはルーストに好まれると思います。 '&'と 'ref'の組み合わせは二重参照と思われますが、私は間違っていると思っていました。 –