2015-04-18 36 views
1

這可能以前已經問過,但我似乎無法在Google中找到任何有用的東西(可能我找錯了)也不在這裏。Java相當於Ruby的`代碼,如果條件'

在Java中,Ruby的code if condition等價物(如果實際存在的話)是什麼?

實例紅寶石(從TutorialsPoint拍攝):的

$debug=1 
print "debug\n" if $debug 

在Java中,而不是做

if (conditional) { 
    doSomething(); 
} 

我想這樣做

doSomething() if (conditional); 

如果我這樣做

if (conditional) doSomething(); 

我得到一個警告,建議反轉if。

+0

你可以發佈你的實際代碼嗎? –

+0

'if(conditional)doSomething();'適用於我 - 沒有警告或類似的東西。你能更詳細地描述它嗎? – DominikAngerer

+1

你不能; 'if(xxx){}'就是Java的工作原理。 「如果出現」(a)代碼檢查設置爲檢測「時髦」條件,例如,條件是讀取的方式奇怪,或者(b)沒有(b),則會發出警告以反轉。 –

回答

5

你不能這樣做,在Java中,它是不合法的語法。

你可以做,

if (conditional) doSomething(); 

if (conditional) { 
    doSomething(); 
} 

甚至改變doSomething()簽名採取boolean然後

doSomething(conditional); 

,但你不能加入你想要的語法在不編寫預編譯器的情況下使用該語言。

欲瞭解更多信息,請參閱JLS-14.9. The if Statement

+0

我想我會和第一個一起去。感謝你的回答。一旦SO讓我接受我的解決方案 –

1

沒有等價物。 Ruby的語句比其他任何語法都更加語法化,因爲你可以用與Java中相同的方式編寫if語句。

對於Java,你堅持你的包裹中的表達式語句if

if(conditional) { 
    takeAction(); 
}