Avatar ·

Kotlin में "receiver" क्या है और इसकी आवश्यकता क्यों है?

नमस्ते सहकर्मियों! मैंने Java के बाद Kotlin सीखना शुरू किया है और "receiver" शब्द पर ध्यान गया। मैं documentation पढ़ रहा हूँ और `apply`, `let`, `run`, `with` जैसी चीज़ें देख रहा हूँ — और हर जगह receiver के बारे में लिखा है। लेकिन मैं पूरी तरह से समझ नहीं पा रहा हूँ कि यह क्या है और यह कैसे काम करता है। यहाँ एक सरल उदाहरण है। मैं ऐसा कोड लिखता हूँ: ```kotlin data class Person(var name: String = "", var age: Int = 0) fun main() { val person = Person().apply { name = "Alice" // यहाँ मैं name को सीधे access कर रहा हूँ, person.name के बिना age = 30 } println(person) } ``` मैं समझता हूँ कि `apply` block के अंदर मैं `name = "Alice"` लिख सकता हूँ, न कि `person.name = "Alice"`। लेकिन यह कैसे काम करता है? "receiver के साथ function" का क्या मतलब है? क्या यह कोई magical closure है? या यह उस तरह काम करता है जैसे...