2016-03-15 14 views
6

Bir nesneyi imha ederken, yalnızca ihtiyacım olan değişkenleri bildirmek mümkün mü?Kotlin'de bir nesneyi yok ederken kullanılmayan argümanlar

Bu örnekte yalnızca b kullanıyorum ve IDE, a'un kullanılmadığı konusunda bana bir uyarı veriyor.

fun run() { 
    fun makePair() = Pair("Apple", "Orange") 

    val (a, b) = makePair() 

    println("b = $b") 
} 
+0

, sık sık val 'gibi bir şey var (_, b) = makePair()' . Kotlin'de benzer bir şey yok mu? – Thilo

+0

Biraz benzer soru ve biraz yetersiz cevap: http://stackoverflow.com/questions/29046636/mark-unused-parameters-in-kotlin – Thilo

+0

@Thilo Scala'da var, ama böyle bir şey yok gibi görünmüyor Kotlin. En azından henüz değil. –

cevap

2

Şunları kullanabilirsiniz: Yalnızca ilgileniyorsanız

fun run() { 
    fun makePair() = Pair("Apple", "Orange") 

    val (_, b) = makePair() 

    println("b = $b") 
} 
9

KOTLIN 1.1 olduğundan, bir yok edici beyanının kullanılmayan bir bileşeni olarak işaretlemek için alt çizgi kullanabilirsiniz İlk argüman çiftinde kalanları atlayabilirsiniz. mümkün değildir, ancak argüman sırasını değiştirirseniz, bu şekilde yazabilir Kodunuzda: Diğer dillerde

fun run() { 
    fun makePair() = Pair("Orange", "Apple") 

    val (b) = makePair() 

    println("b = $b") 
} 
+0

Bu cevap Kotlin 1.1 için güncellenmelidir –

0

:

val b = makePair().component2()