2011-09-02 65 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;