Ի՞նչ scope ֆունկցիաներ գիտես Kotlin-ում։
sobes.tech AI
Պատասխան AI-ից
Kotlin-ում կան մի քանի շրջանակային (scope functions), որոնք թույլ են տալիս կատարել գործողություններ օբյեկտի հետ որոշ կոնտեքստում: Հիմնականներն են՝
-
let — իրականացնում է կոդի բլոկ օբյեկտով որպես
itարգումենտ և վերադարձնում բլոկի արդյունքը: Օգտագործվում է հաճախ nullable-ների անվտանգ աշխատանքի համար:val name: String? = "Kotlin" name?.let { println("Անվան երկարությունը: ${it.length}") } -
run — իրականացնում է կոդի բլոկ օբյեկտով որպես
thisև վերադարձնում բլոկի արդյունքը: Օգտակար է ինիցիալիզացիայի և հաշվարկների համար:val result = "Hello".run { println(this) length } -
with — նման է
run, բայց կանչվում է որպես ֆունկցիա օբյեկտով որպես պարամետր և վերադարձնում բլոկի արդյունքը:val builder = StringBuilder() val result = with(builder) { append("Hello") append(" World") toString() } -
apply — իրականացնում է բլոկ օբյեկտով որպես
thisև վերադարձնում է ինքնին օբյեկտը: Օգտագործվում է հաճախ օբյեկտների կոնֆիգուրացիայի համար:val person = Person().apply { name = "John" age = 30 } -
also — իրականացնում է բլոկ օբյեկտով որպես
itև վերադարձնում է ինքնին օբյեկտը: Օգտագործվում է լրացուցիչ գործողությունների համար, օրինակ՝ լոգավորում:val numbers = mutableListOf(1, 2, 3).also { println("Ցանկ: $it") }
Յուրաքանչյուր ֆունկցիա տարբեր է այն կերպ, ինչպես է փոխանցում օբյեկտը լամբդային (this կամ it) և ինչ է վերադարձնում (բլոկի արդյունքը կամ ինքնին օբյեկտը):