Aşağıdaki örnek programda, map2
tanımlamak zorunda kalmamın bir yolu var mı? Ayrıca Haskell konuşan insanlar içinİki seçeneği "birleştirmek" için herhangi bir yol var mı?
fn map2<T, U, V, F: Fn(T, U) -> V>(f: F, a: Option<T>, b: Option<U>) -> Option<V> {
match a {
Some(x) => match b {
Some(y) => Some(f(x, y)),
None => None,
},
None => None,
}
}
fn main() {
let a = Some(5);
let b = Some(10);
let f = |a, b| {
a + b
};
let res = map2(f, a, b);
println!("{:?}", res);
// prints Some(15)
}
, ben "Kullandığımız yerine Rust liftM2 herhangi bir araç var mı?" Bu soru da şeklinde ifade edilebilir tahmin
Teşekkür bulunuyor Bunu bir veya iki kez yapmak. Yine de, bazı durumlarda, işlevi tanımlamak için yine de buna değer. –