gpt4 book ai didi

kotlin - 从代码块执行和返回(在 Elvis 运算符之后)

转载 作者:行者123 更新时间:2023-12-02 11:55:25 24 4
gpt4 key购买 nike

我真的不知道如何命名标题,因此我将尽我所能解释它:

val a = b ?: ({
val temp = c.evaluate()
store(temp)
temp // returns temp to the lambda, which will set `a` to `temp` if `b` is null
})()

1 :什么有效,我目前使用什么

这很好用,但我理想情况下想要做的只是使用代码块而不是将 lambda 传递给函数( ({}) )然后对其进行评估。在我的想象中,它看起来像这样:
val a = b ?: {
val temp = c.evaluate()
store(temp)
temp // returns temp to the lambda, which will set `a` to `temp` if `b` is null
}

2 : 我想要什么

以上不起作用。我实际上只是在寻找一种更好的写 1 的方法。

最佳答案

您可以使用 run 功能:

val a = b ?: run {
val temp = c.evaluate()
store(temp)
temp
}

关于kotlin - 从代码块执行和返回(在 Elvis 运算符之后),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53581829/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com