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 ", " .

  • Herencia genérica de Kotlin
  • Usar varios lenguajes JVM en el mismo proyecto
  • Comstackción manual de JAR para Scala & Kotlin
  • Kotlin zipToda alternativa
  • Kotlin: llaves de varias expresiones (o declaraciones)
  • Scala require () equivalente en Kotlin
  • Hay alguna biblioteca para trabajar con mónadas en kotlin?
  • Companion se beneficia de la posibilidad de implementar interfaces
  • Progtwigción funcional: cómo continuar el context para una cadena de reglas de validation
  • Sistema local de administración de packages Java en Python PIP style?
  • Tipo de function con receptor en Scala