'a = b ||的语法糖a`,`a = b&&了`

时间:2012-11-28 10:49:03

标签: ruby

对于a = a || ba = a && b,有良好的语法糖a ||= ba &&= b。经常出现的事情是:

a = b || a
a = b && a

是否有良好的语法糖或写一个简短的方法?

2 个答案:

答案 0 :(得分:5)

a = b || a

可以改写为:

a = b if b

可以重写,而不必重复ab

x = b and a = x

如果表达式ab都超过6个字符,则x = b and a = x是最短的格式。

答案 1 :(得分:2)

目前没有这样的捷径。

&& =和|| =在CRuby / MRI AST中 NODE_OP_ASGN_AND NODE_OP_ASGN_OR 。仅当左值为假或为零时才评估'rvalue'。