2013-10-28 135 views
-3

如何写一个模型,这个机代码:if-else条件语句的DRYer方法?

a = 10 
b = 6 
if a == b 
    a = 20 
else 
    a 
end 

基本上,a仍然a = 10a != b

+2

你想用你的else语句完成什么? – FlyingFoX

+0

@dcaswel我们真的想要添加标签吗?那些领导者可能会,呃,不知所措。 –

+0

这是一个荒谬的做作例子。真正的答案是没有任务,然后马上检查它们。也许如果你放入更多的实际代码,答案会更好。 –

回答

1
a = 10 
b = 6 
a = 20 if a == b 

如果这是一个方法,你想退回的a的最后一个值:

a = 10 
b = 6 
a == b ? a = 20 : a 
+0

它返回布尔值(方法2)。 – Victor

+0

如果第二个例子是想要的,那么使用'a == b? 20:a'。 –

+0

方法2不返回布尔值,它返回a的值。三元操作有三段,在我们的例子中,布尔值是第一段,它是根据布尔值是true还是false来返回的段2或段3。 – SteveTurczyn

0

这里的第三个:

您还可以使用短路操作and

a = 10 
b = 6 
a == b and a = 20 
+0

这将返回false或20 – SteveTurczyn

+0

是的,但是问题状态的最后一个语句'基本上,a!= b'时仍然是a = 10。所以,我的代码将分配20,如果一个== B,否则什么都不做 –