在JavaScript中,我们可以这样做:
然而,这种方式不如JavaScript中的||运算符灵活。例如:
有没有在Scala中实现这个的方法?
value = f1() || f2() || f3();
如果结果不为空,这将调用f1并将其分配给value。 只有在结果为空的情况下,才会调用f2,并将其分配给value(如果不为空)。 ...
在Scala中实现此功能的方法如下:如何使此first-not-null-result函数更加优雅/简洁? 创建一个getFirstNNWithOption函数,直到非空为止调用每个函数:
value = getFirstNNWithOption(List(f1 _, f2 _, f3 _))
然而,这种方式不如JavaScript中的||运算符灵活。例如:
value = f1() || f2(3) || f3(44, 'ddd') || value4;
有没有在Scala中实现这个的方法?