我使用的XML語言不具有'||'運營商。我怎樣才能達到這個操作符的效果?該語言也不支持三元運算符。除了if-else之外,還有其他方法可以實現嗎?使用|| operator
的表達是,如果((x == 2)||(Y == 2)),以及要達到這一點沒有||,?,如果其他..在此先感謝
我使用的XML語言不具有'||'運營商。我怎樣才能達到這個操作符的效果?該語言也不支持三元運算符。除了if-else之外,還有其他方法可以實現嗎?使用|| operator
的表達是,如果((x == 2)||(Y == 2)),以及要達到這一點沒有||,?,如果其他..在此先感謝
如何:
if (x == 2) {
flag = true;
}
if (y == 2) {
flag = true;
}
if (flag) {
// do something
}
或者這樣:
if ((x == 2) | (y == 2)) {
// do something
}
請注意,這使用非短路OR運算符|
而不是||
。
斯普利特的或明確:
if (x == 2) {
... do stuff
} else if (y == 2) {
... do the same stuff
} else {
condition not fulfilled
}
現在,沒有別的......我知道有一個「XML說詞」與:XSL(T),在其中有一個<xsl:if>
但沒有明顯的<xsl:else>
。然而,你在那裏做的是更通用的<xsl:choose>
,它支持使用<xsl:when>
和<xsl:otherwise>
來表示「其他」情況的多個條件。
因此,嘗試使用'xml語言'搜索它是否支持case/switch/choose功能。
他說theres沒有'如果其他'。 – 2009-10-30 12:44:44
temp = false;
if (x==2)
{
doSomething();
temp = true;
}
if (y==2)
{
if (!temp)
doSomething();
}
這也可以工作
if (x==2)
{
doSomething();
}
else
{
if (y==2)
doSomething();
}
如果x == 2並且y == 2那麼DoSomething是兩次? – 2009-10-30 12:44:53
除非x == 2和y == 2 doSomething()將被調用兩次 – Niki 2009-10-30 12:45:24
True。讓我解決這個問題。 – 2009-10-30 12:46:15
我能想到的唯一的事情就是重複一組執行或對於x == 2和y == 2的情況下,指定的指令。這裏的問題似乎來自語言,因爲它應該至少支持基本的邏輯運算符以便可用。
if (!((x != 2) && (y != 2))) {
work();
}
這個「XML排序語言」是否支持&&
?如果是這樣,反轉的邏輯:
if ((x == 2) || (y == 2))
轉換爲:if (!((x != 2) && (y != 2)))
如何:
boolean doIt = (x == 2);
if (!doit) {
doIt = (y == 2);
}
if (doIt) {
// do something
}
如何:
if((x == 2) + (y == 2))
{
do_something();
}
它的行爲比OR-運營商略有不同,因爲+運算符不能做短路評價。
該程序的控制流程將是相同的,雖然..
你可以嘗試以下方法:
IF((x == 2)& &(X + Y == 4)){
} 其他 {
}
哪種語言? – 2009-10-30 12:42:27
請說明「XML排序的語言」。你的意思是XPath? – 2009-10-30 12:42:44
如果你有'&&'和'!',你可以替換'a || '!(!a &&!b)' – mouviciel 2009-10-30 12:46:30