2011-09-02 38 views
-2

我有一份聲明如果從句邏輯問題

if(somecondition x) 
{ 
    do y; 
} 
else 
do y; 

我怎樣才能提高到一個if語句這個?

+0

你的意思做的,如果與其他基於兩種不同的操作?像if(x)do y;否則做z;? – kakridge

+0

第一個'做你'是'做X'嗎?否則,你有2個'do y'語句,所以你可以刪除if/else語句 - 如果它不正確,更新你的代碼片段 – eon

+1

爲什麼向下排列1個指針?他們可能對編碼/腳本/僞造是新手。 –

回答

7

你的if-else語句基本上做同樣的事情,不管做什麼。爲什麼即使打擾如果?

do y; 
+0

其實我的if條件在特定情況下執行 – abbas

+2

無論如何你都執行'y'。如果這是真的,那麼做y。如果錯誤,那麼做y。 –

+0

「somecondition x」調用可能有副作用,所以你不能丟棄該部分。看到我的答案。 –

0

您可能沒有措辭恰當。兩者都做同樣的操作,y,所以不應該有if條件。

+0

你的意思是它應該是如果x然後y? – abbas

+0

他的意思是沒有'如果'或'然後',時期。你總是做'y',所以你不必決定是否這樣做(這是'if'設計的目的)。如果你的條件'x'有副作用,那麼你可以放棄'if' /'then'並且只是說'y'(或者'x; y',這是邪惡的但是可能的)。 – cHao

1

爲什麼你甚至需要一個if語句呢?無論你在執行y。

1

如果Y是一個函數,並且您將要返回/設置一個值(我假設您想要做除y之外的其他操作,除非y的函數具有良好的返回值):

var j = SomeCondition ? doY() : doX(); 

return someConditoin? doY() : doX(); 

但除此之外......我對你想要做什麼困惑。

也許只是

do y; // and not x... x might get jelouse 

更新:

也許你想要的是:

if(someconditoin x) 
{ 
    do y; 
} 

現在是一個if語句。

+0

我也困惑 – abbas

1

調用「somecondition x」可能有副作用,所以你不能丟棄那個部分。所以叫「somecondition x」,然後調用do y。

留給你:

somecondition x; 
do y;