Kotlin VS Scala: Implementar methods con parameters constructor primarios
En Scala puedes escribir código como este.
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 }
no es necesario que anules la queue y la cabeza ya están definidos, pero en Kotlin tuve que codificar esto.
- Clase de Json a Kotlin Data
- Progtwigción funcional: cómo continuar el context para una cadena de reglas de validation
- Usar varios lenguajes JVM en el mismo proyecto
- ¿Es posible mezclar Scala y Kotlin en el mismo module maven?
- @uncheckedVariance en 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 }
Mi pregunta es "¿es una mejor forma de escribir mi código de Kotlin?"
- Genéricos reificados en Scala 2.10
- Companion se beneficia de la posibilidad de implementar interfaces
- ¿Cómo hacer que los constructores seguros de Kotlin trabajen en Scala?
- Forma equivalente de Scala de Rango a class personalizada
- La creación de Gradle falló con Kotlin, Scala y Java
- ¿Cómo funcionan las funciones de extensión de Kotlin?
- Kotlin zipToda alternativa
- ¿Se puede usar Flink con Kotlin?
Puedes hacer properties de head
y tail
:
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 }