我可以像这样使用三元运算符:
我可以像这样使用三元运算符:
a.empty? ? a : b
如果a
只是一个短变量,这个方法可以使用。如果我不想使用变量,而是在一个复杂的数组函数链中,我没有临时变量,如何避免重复链?在我的看法中,这似乎只适用于空值,我可以使用or
来实现。
a.filter { bla bla bla }.map { bla bla bla }.reduce { bla bla } || b
但对于其他任何检查,如何做到这一点呢?
a.filter { bla bla bla }.map { bla bla bla }.reduce { bla bla }.empty? ? a.filter { bla bla bla }.map { bla bla bla }.reduce { bla bla } : b
empty
,为什么你还想要再次执行它?我想问,我的想法是否正确:“如果 filter -> map -> reduce 给出了空结果,难道你还想再次运行它吗?” - Arindam