Sobes.tech
Junior

Ի՞նչ է 'run' բլոկը Kotlin-ում և ինչպես է այն օգտագործվում:

sobes.tech AI

Պատասխան AI-ից

Kotlin-ո run բլոկը Kotlin ստանդարտ գրադարանի մեջ տեղադրված ընդլայնման ֆունկցիա է: Այն օգտագործվում է՝

  1. Կոդի բլոկի գործարկում օբյեկտի վրա: Կոչվում է օբյեկտի վրա և կատարում է lambda արտահայտություն, որը տրամադրված է որպես արգումենտ: Lambda-ի ներսում օբյեկտը հասանելի է որպես this:
  2. Արդյունքի վերադարձ: Վերադարձնում է lambda-ի վերջին արտահայտության արդյունքը:
  3. Nullable օբյեկտներ: Օգտակար է nullable օբյեկտների հետ աշխատելու համար, քանի որ ?. անվտանգ կանչի օպերատոր օգտագործելիս, run բլոկը կկատարվի միայն եթե օբյեկտը ոչ null է:

Հիմնական հատկանիշներ:

  • Ստացող (this): Օբյեկտը, որի վրա կանչվում է run, ներսում lambda-յում հասանելի է որպես this:
  • Վերադարձվող արժեք: Lambda-ի վերջին արտահայտության արդյունքը:

Օգտագործման օրինակներ:

// Օրինակ 1: Կոդի գործարկում օբյեկտի վրա և արդյունքի վերադարձ
val length: Int = "some string".run {
    // 'this' այստեղ վերաբերում է "some string"-ին
    println("Տողի երկարությունը: ${this.length}")
    length // Վերադարձնում է տողի երկարությունը
}
// Օրինակ 2: աշխատել nullable-օբյեկտի հետ
val nullableString: String? = "another string"
val upperCaseString: String? = nullableString?.run {
    // Բլոկը կիրականացվի միայն եթե nullableString-ը ոչ null է
    toUpperCase() // Վերադարձնում է տողը մեծատառերով
}

val anotherNullableString: String? = null
val anotherUpperCaseString: String? = anotherNullableString?.run {
    // Բլոկը չի կիրականացվի, run?. վերադարձնում է null
    toUpperCase()
}
// Օրինակ 3: օբյեկտ ստեղծել և կարգավորել
val person = run {
    val name = "Alice"
    val age = 30
    Person(name, age) // Կարծում ենք, որ Person դասը գոյություն ունի
}