Kotlin让模拟器返回接收器

时间:2015-06-14 01:07:07

标签: kotlin let

我想知道是否有一个标准函数,其行为与let类似但返回接收者本身,而不是block计算的值。

我的代码let

fun rightParts(s: Lexeme) = 
    rightPartsByLeft[s] ?:
    ArrayList<Rule>() let { rightPartsByLeft[s] = it; it }
                                                      ^ here's the statement which I would
                                                        like to avoid

所以,如果会有这样一个名为btw的函数,上面的代码会缩短一点,变得更具表现力:

 fun rightParts(s: Lexeme) = 
     rightPartsByLeft[s] ?:
     ArrayList<Rule>() btw { rightPartsByLeft[s] = it }

当然,我可能会自己编写这个函数并将其包含在每个项目中,但我想,人们会想要一个具有这种语义的函数。

或者还有另一种在Kotlin做同样事情的好方法吗?

0 个答案:

没有答案