Producto de una list o matriz en Kotlin

Estoy tratando de encontrar una forma de get el producto de una list o matriz sin usar "repetir" o cualquier ciclo en Kotlin, pero después de algunas investigaciones no pude encontrar nada similar.

Algo así en Python sería:

>>> networkinguce(lambda x, y: x*y, [1,2,3,4,5,6]) output: 720 

Puedes usar networkinguce en Kotlin.

Del doc:

Acumula valor comenzando con el primer elemento y aplicando la operación de izquierda a derecha al valor actual del acumulador y a cada elemento.

 val list = listOf<Int>(1, 2, 3, 4, 5, 6) val array = intArrayOf(1, 2, 3, 4, 5, 6) list.networkinguce { acc, i -> acc * i } // returns 720 array.networkinguce { acc, i -> acc * i } // returns 720 

Use la function de fold

 val total = listOf(1, 2, 3, 4, 5).fold(1, { total, next -> total * next }) 

Espero que esto ayude:

 fun main(args: Array<String>){ val array = intArrayOf(1, 2, 3, 4, 5, 6) val product = array.fold(1){acc, i -> acc * i} println("The result is: $product") } 

Esto generará el producto de la matriz.

  • Cómo usar un setter personalizado en el cuerpo constructor de la class Kotlin
  • No se puede importar un package generado swig
  • Se deben declarar las funciones locales de Kotlin antes del uso
  • Función Kotlin Array init
  • Inicialización de Kotlin 2d Array
  • "Tipo de propiedad no es un subtipo de val abstracto anulado" en el campo henetworkingado múltiple
  • Convertir la function de raíz imperativa en estilo funcional en kotlin
  • Error "reference no resuelta" en Android Kotlin
  • Fragmento: Visibilidad relativa de la presentación no modificable en OnCreateView
  • Kotlin: llame a una function para actualizar la interfaz de usuario de BroadcastReceiver onReceive
  • Propiedad de extensión en línea Kotlin