Rust में फ़ंक्शन को पैरामीटर के रूप में कैसे पास करें?
सभी को नमस्कार! मैंने अभी Rust सीखना शुरू किया है और एक समस्या का सामना किया। अन्य भाषाओं में, जैसे Python या JavaScript, मैं आसानी से एक फ़ंक्शन को दूसरे फ़ंक्शन में argument के रूप में पास कर सकता हूँ। उदाहरण के लिए:
```python
def apply(func, x):
return func(x)
def double(x):
return x * 2
result = apply(double, 5)
```
Rust में मैंने कुछ ऐसा करने की कोशिश की, लेकिन compiler error देता है। यहाँ मेरा कोड है:
```rust
fn apply(func: ???, x: i32) -> i32 {
func(x)
}
fn double(x: i32) -> i32 {
x * 2
}
fn main() {
let result = apply(double, 5);
println!("{}", result);
}
```
मुझे समझ नहीं आ रहा कि `func` parameter के लिए कौन सा type दूँ। मैंने `fn(i32) -> i32` लिखने की कोशिश की, लेकिन यह काम नहीं किया। Documentation में `Fn`, `FnMut` और `FnOnce` traits के बारे में लिखा है, लेकिन मैं भ्रमित हूँ कि कौन सा उपयोग करूँ और ऐसे functions को सही तरीके से कैसे declare करूँ। कृपया बताएँ कि Rust में फ़ंक्शन को parameter के रूप में सही तरीके से कैसे पास करें? अधिमानतः स्पष्ट उदाहरणों के साथ।
<<>>