scala の if ステートメントは常に式を返すことを既に読みました
だから私は次のことをしようとしています(疑似コード)
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
注文はオプションです[文字列]
メソッドにオプションのパラメーターを指定したいだけで、そのパラメーター (この場合は順序) が渡されない場合はスキップします
私がやろうとしていることを達成するための最も慣用的な方法は何ですか?
- 編集 -
私はあまりにも急いで尋ねたのだと思います
この道を見つけた、
val orderBy = order.map( " order by " + _ ).getOrElse("")
これは正しい方法ですか?
マップは他の目的のためのものだと思っていました...