我在 Kotlin 中有以下函数。
我希望以这种方式进行更改,以便我可以将所需的操作符作为第三个参数传递并评估表达式。类似于
fun evaluate(first:Int?, second:Int?) {
var result = 0
if (v.equals('*')) {
result = (first ?: 0) * (second ?: 0)
} else if (v.equals('+')) {
result = (first ?: 0) + (second ?: 0)
} else if (v.equals('-')) {
result = (first ?: 0) - (second ?: 0)
} else if (v.equals('/')) {
result = (first ?: 0) / (second ?: 0)
}
return result
}
我希望以这种方式进行更改,以便我可以将所需的操作符作为第三个参数传递并评估表达式。类似于
fun evaluate(first:Int?, second:Int?, op: () -> Unit):Int {
return (first ?: 0).op(second ?: 0)
}
在这种情况下,我如何将运算符作为函数传递?我查看了一个类似的问题,但是不清楚如何使用运算符来实现。