2013-10-28 63 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,否則什麼都不做 –