In meinem Code unten finde ich, dass der Code in match_num_works()
eine gewisse Eleganz hat. Ich würde gerne ein String
Match mit einer ähnlichen Formulierung schreiben, aber es kann nicht funktionieren. Ich am Ende mit match_text_works()
, die weniger elegant ist.Wie Muster passen einen String in einer Struktur gegen ein Literal
struct FooNum {
number: i32,
}
// Elegant
fn match_num_works(foo_num: &FooNum) {
match foo_num {
&FooNum { number: 1 } =>(),
_ =>(),
}
}
struct FooText {
text: String,
}
// Clunky
fn match_text_works(foo_text: &FooText) {
match foo_text {
&FooText { ref text } => {
if text == "pattern" {
} else {
}
}
}
}
// Possible?
fn match_text_fails(foo_text: &FooText) {
match foo_text {
&FooText { text: "pattern" } =>(),
_ =>(),
}
}
Dank! Das wird reichen. – ebaklund