私はそれが必要でない場合は、それらのすべてを呼び出すことなく、いくつかの関数の結果と一致するようにしたい:パターンマッチング時に冗長な関数呼び出しを避けるには?
fn foo() -> bool {
println!("foo executed");
true
}
// I want to do something like this
// but there is a redundant function call
match (foo(), foo()) {
(false, true) => println!("Bingo!"),
_ => println!("Wrong result"),
}
// No redundant function call
// but less impressive and doubling of wrong result processing
match foo() {
false => match foo() {
true => println!("Bingo"),
_ => println!("Wrong result"),
},
_ => println!("Wrong result"),
}
はどうすればこれを行うことができますか?