Как передать одну или ни одну переменную arg в scala?

Имея,

def test(args: Any*) = args.size

я бы хотел вызвать его с пустым списком аргументов в зависимости от условия, но избегайте if / else.

Я пришел с этим решением:

test(List("one").filter( _ => condition) : _*)

Есть ли способ лучше, чем этот?

Для большего контекста я играю с Play 2.0 scala и получаю следующее:

  user => Redirect(routes.Application.index).withSession("username" -> user._1).withCookies(
    List(Cookie("rememberme", Crypto.sign(user._1) + "-" + user._1)).filter(_ => user._3) : _*)

где user._3 является логическим rembemberme.

Я бы не хотел вызывать withSession или вызывать его с пустым списком аргументов (не для создания экземпляра Cookie), если Rememberme ложно, в стиле Scala.

Спасибо.

5
задан Codemwnci 17 December 2011 в 17:37
поделиться