Kotlin में किसी फ़ंक्शन को दूसरे फ़ंक्शन के पैरामीटर के रूप में कैसे पास करें?
नमस्ते! मैंने अभी-अभी Java के बाद Kotlin सीखना शुरू किया है और एक समस्या का सामना किया है।
Java में, मैं व्यवहार को मेथड में पास करने के लिए इंटरफ़ेस या फंक्शनल इंटरफ़ेस (जैसे `Consumer`, `Runnable`) का उपयोग करने का आदी था। Kotlin में, जैसा कि मैंने समझा, फ़ंक्शन प्रथम श्रेणी की वस्तुएँ (first-class objects) हैं और उन्हें सीधे पास किया जा सकता है।
लेकिन मैं सही सिंटैक्स नहीं लिख पा रहा हूँ। मान लीजिए, मेरे पास संख्याओं की एक सरल सूची है, और मैं एक `processNumbers` फ़ंक्शन लिखना चाहता हूँ जो एक सूची और प्रत्येक तत्व के लिए एक हैंडलर फ़ंक्शन लेता है।
मैं यह करने की कोशिश कर रहा हूँ:
```kotlin
fun processNumbers(numbers: List, operation: ???) {
for (number in numbers) {
operation(number)
}
}
fun main() {
val numbers = listOf(1, 2, 3, 4, 5)
// यहाँ एक फ़ंक्शन पास करना चाहता हूँ जो संख्या का वर्ग प्रिंट करे
processNumbers(numbers, println(it * it)) // त्रुटि!
}
```
मुझे समझ नहीं आ रहा कि `operation` पैरामीटर के लिए कौन सा टाइप निर्दिष्ट करूँ। मैंने `(Int) -> Unit` लिखने की कोशिश की, लेकिन त्रुटि मिल रही है।