2016-04-06 17 views
2

Scala'da bu şekilde kod yazabilirsiniz.Kotlin VS Scala: Birincil kurucu parametreleriyle yöntemleri uygulayın

trait List[T] { 
    def isEmpty() :Boolean 
    def head() : T 
    def tail() : List[T] 
} 

class Cons[T](val head: T, val tail: List[T]) :List[T] { 
    def isEmpty = false 
} 

Kuyruğunuzu ve zaten tanımlanmıştır kafa geçersiz kılmak gerekmez, ama KOTLIN ben bu kod vardı.

interface List<T> { 
    fun isEmpty() :Boolean 
    fun head() : T 
    fun tail() : List<T> 
} 

class Cons<T>(val head: T, val tail: List<T>) :List<T> { 
    override fun isEmpty() = false 
    override fun head() = head 
    override fun tail() = tail 
} 

Sorum "Benim Kotlin kod yazmak için daha iyi bir yolu onların nedir?" Dir

cevap

8

Sen head ve tail özelliklerini yapabilirsiniz:

interface List<T> { 
    val head: T 
    val tail: List<T> 

    fun isEmpty(): Boolean 
} 

class Cons<T>(override val head: T, override val tail: List<T>) : List<T> { 
    override fun isEmpty() = false 
}