Невозможно проанализировать полный JavaScript, если оператор изнутри Java, используя JavaScript - PullRequest
0 голосов
/ 18 июля 2011

Итак, я разместил этот вопрос Ввод простого языка выражений в Java и получил отличный ответ об использовании ScriptEngine, чтобы позволить пользователю писать javascript, что я и сделал, и это, похоже, работает

Но пока такое выражение, как

(artist.length>0 ? artist + '-' :'') + (album.length>0 ? album + '-' :'')

работает с полным оператором if, а не

if(artist.length>0) {artist + ':-'}   + (album.length>0 ? album + '-' :'') 

Вы можете спросить, почему я это делаю, я надеялся, что смогу использовать оператор if: else if: else, и это был шаг к этому

1 Ответ

4 голосов
/ 18 июля 2011

Это просто недопустимый JavaScript.

<cond> ? <iftrue> : <iffalse>

является формой if-else для выражения и возвращает значение, которое можно использовать.

if {

} else {

}

является версией 'оператора', используется для выполнения кода и НЕ возвращает значение.

...