gpt4 book ai didi

scala - Kotlin VS Scala : Implement methods with primary constructor parameters

转载 作者:行者123 更新时间:2023-12-04 17:55:15 30 4
gpt4 key购买 nike

在 Scala 中,您可以编写这样的代码。

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
}

你不需要重写 tail 和 head 它们已经定义了,但是在 Kotlin 中我必须编写这个代码。

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
}

我的问题是“他们是编写我的 Kotlin 代码的更好方法吗?”

最佳答案

您可以制作 headtail 属性:

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
}

关于scala - Kotlin VS Scala : Implement methods with primary constructor parameters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36454780/

30 4 0