Kotlin infix Fonksiyon
Merhaba Arkadaşlar,
Bugünki yazımızda Kotlin ‘in javadan ayrılan kodu daha iyi okunmasında faydalı bir fonksiyon olan infix fonksiyonu kullanacağız.
Aslında döngülerde step, until gibi yerlerde ve numbers yazısında kullandık. İncelemek için :
Şimdi burada infix fonksiyon için neye ihtiyaç var. Bir fonksiyon nasıl infix olur sorusuna cevap vermemiz gerekirse;
1 -> infix keyword ‘u ile fonksiyon oluşturulmalıdır.
2-> Bir class ‘a ait bir üye fonksiyon olmalıdır.
3 -> Mutlaka 1 parametre almalı, 0 veya 2 ‘den fazla olamaz !
4- > vararg türünde parametre alamaz !!
5 -> Aldığı parametreye default değer atanamaz !!
Misal burada step fonksiyonuna bakalım.
/**
* Returns a progression that goes over the same range with the given step.
*/public infix fun IntProgression.step(step: Int): IntProgression {
checkStepIsPositive(step > 0, step)
return IntProgression.fromClosedRange(first, last, if (this.step > 0) step else -step)
}
infix olarak tanımlanmış. Bir class ‘a ait üye bir fonksiyon, tek parametre alıyor. default değeri yok. vararg almıyor. Yani tüm kriterleri sağlıyor.
Bir fonksiyonu a.functionName(parameter) olarak çağırıken infix fonksiyon 1 step 2 olarak çağırılıyor. Kod daha kolay okunuyor.
Örnek 1 :
class InfixTest{
fun main(){
println("Ümit" ekle "KÖSE")
}
infix fun String.ekle(s : String) : String = this + s
}Android Kullanımına örnek :
infix fun <ClassName> Context.extStartActivity(cls: Class<ClassName>){
startActivity(Intent(this, cls))
}Çağrılışı : this@MainActivity extStartActivity NewActivity::java.class
İyi Okumalar..




