Convierta la function de Scala a la function de Kotlin

Soy muy nuevo en Scala Kotlin y en mi bash de convertir algún código de scala a Kotlin solo como una forma de entender mi situación.

Una de las cuestiones con las que estoy teniendo problemas es convertir esta function de scala en una de Kotlin.

def changeXToDigit(value:String): String = { value.map { case 'X' => random.nextInt(10).toString case letter => letter }.mkString } 

Sé que no hay equivalente de mkString en Kotlin pero me imaginé algo así como

 fun changeXToDigit(value: String):String = { value.map { it -> when(it) { 'X' -> random.nextInt(10).toString else -> it } } 

podría funcionar, pero IntelliJ se queja de eso y el error me pierde un poco.

 Error:(11, 45) Kotlin: Infernetworking type is a function type, but a non-function type String was expected. Use either '= ...' or '{ ... }', but not both. 

Primero, escribe

 fun changeXToDigit(value: String): String = // no curly braces 

o

 fun changeXToDigit(value: String): String { // no equals 

como Kotlin entiende = { } como definir y devolver un cierre, no solo para agrupar una expresión como en Scala. Es por eso que el post de error dice "tipo inferido es un tipo de function".

A continuación, .mkString() Scala es como .mkString() Kotlin, aunque el separador pnetworkingeterminado de Scala es "" y el separador pnetworkingeterminado de Kotlin es ", " .

  • Scala require () equivalente en Kotlin
  • @uncheckedVariance en Kotlin?
  • Biblioteca Headless de una fuente para JVM y JavaScript
  • ¿Es posible express kotlin 'con' método equivalente en Scala?
  • Forma equivalente de Scala de Rango a class personalizada
  • Clase de Json a Kotlin Data
  • ¿Por qué Kotlin comstack más rápido que Scala?
  • La creación de Gradle falló con Kotlin, Scala y Java
  • Genéricos reificados en Scala 2.10
  • ¿Cómo hacer que los constructores seguros de Kotlin trabajen en Scala?
  • Progtwigción funcional: cómo continuar el context para una cadena de reglas de validation