Я уже читал, что оператор if в scala всегда возвращает выражение
Итак, я пытаюсь сделать следующее (псевдокод)
sql = "select * from xx" + iif(order.isDefined, "order by " order.get, "")
Я пытаюсь с
val sql: String = "select * from xx" + if (order.isDefined) {" order by " + order.get} else {""}
Но получаю эту ошибку :
illegal start of simple expression
order is a Option[String]
Я просто хочу иметь необязательный параметр для метода, и если этот параметр (в данном случае order) не передается, то просто пропустите его
что будет самый идиоматический способ добиться того, что я пытаюсь сделать?
-- редактировать --
Думаю, я слишком поторопился, чтобы спросить
Я нашел этот способ,
val orderBy = order.map( " order by " + _ ).getOrElse("")
Это правильный способ сделать это?
Я думал, что карта предназначена для других целей...