Мне нужно создать функцию более высокого порядка, которая возвращает лямбду для изучения функционального программирования с Kotlin.
Это класс
class Product (val productName : String, val price : Double, val rating : Int) {
override fun toString () = "$productName, $price, $rating"
}
Это моя функция
fun productFactory (productName: String , rating : Int) : (Double) -> Product {
val x : (Double) -> Product = productFactory(productName, rating)
return x
}
это то, как я вызываю функцию
val cheese = productFactory("Gouda", 5)
val product = cheese(4.99)
Хотя кажется, что она работает с необходимыми конструкторами, она вызывает ошибку StackOverflowError, и я не знаю, в чем проблема. Кто-нибудь может мне помочь?