我必须创建一个高阶函数,该函数返回一个lambda以学习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,而我不知道问题出在哪里。有人可以帮我吗?