Sobes.tech
Junior

Kotlin-ში 'run' ბლოკი რა არის და როგორ გამოიყენება?

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 පන්තිය තිබේ යැයි මෙනෙහි කරමු
}