ho trovato this discussion su tuple splatting, ma è a partire dal 2014.Tuple splat/applicare a Rust
L'esempio dato è:
fn sum(x: i32, y: i32) -> i32 {
x + y
}
fn prepare_args() -> (i32, i32) {
(1, 2)
}
fn main() {
sum(prepare_args()); // Doesn't work
}
E la soluzione proposta è quella di rotolare la propria funzione apply
:
fn apply<A,B,C>(f: |A,B|->C, t: (A,B)) -> C {
let (a,b) = t;
f(a,b)
}
fn main() {
apply(sum, prepare_args());
}
È attualmente il modo migliore per andare? In tal caso, qual è la sintassi corretta qui? Ottengo alcuni errori tra cui expected type, found
| at line 1 col 20
utilizzando quanto sopra.
Non esiste ancora un operatore splat a tuple?