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

  • Sistema local de administración de packages Java en Python PIP style?
  • Biblioteca Headless de una fuente para JVM y JavaScript
  • ¿Se puede usar Flink con Kotlin?
  • Herencia genérica de Kotlin
  • ¿Por qué el comstackdor de Scala me da un error al pasar una class sellada de Kotlin a un constructor?
  • Genéricos reificados en Scala 2.10
  • Kotlin: llaves de varias expresiones (o declaraciones)
  • ¿Cómo hacer que los constructores seguros de Kotlin trabajen en Scala?
  • ¿Es posible express kotlin 'con' método equivalente en Scala?
  • Kotlin zipToda alternativa
  • Hay alguna biblioteca para trabajar con mónadas en kotlin?