对于a = a || b,a = a && b,有很好的语法糖a ||= b,a &&= b。同样经常出现的东西是:
a = b || a
a = b && a有没有一个好的语法糖或者一种简单的方法来写这篇文章?
发布于 2012-11-28 19:47:25
a = b || a可以重写为:
a = b if b它可以在不重复a或b的情况下重写为
x = b and a = x如果表达式a和b都长于6个字符,则x = b and a = x是最短的形式。
发布于 2012-11-28 19:24:59
目前还没有这样的捷径。
CRuby/MRI AST的&&=和||=分别为NODE_OP_ASGN_AND和NODE_OP_ASGN_OR。只有当lvalue为false或nil时,才会计算'rvalue‘。
https://stackoverflow.com/questions/13603264
复制相似问题