ava*_*lez 5 scala variadic-functions playframework playframework-2.0
有,
def test(args: Any*) = args.size
Run Code Online (Sandbox Code Playgroud)
我想根据条件用空参数列表来调用它,但是要避免if/else.
我已经提出了这个解决方案:
test(List("one").filter( _ => condition) : _*)
Run Code Online (Sandbox Code Playgroud)
还有比这更好的方法吗?
有关更多上下文,我正在使用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) : _*)
Run Code Online (Sandbox Code Playgroud)
在哪里user._3是rembemberme布尔.
我不想调用withSession或用空参数列表调用它(不是实例化Cookie)如果rememberme是假的,则以scala方式.
谢谢.
我认为在这种情况下嵌入if/ else是最干净的解决方案:
test((if (condition) Seq("one") else Seq.empty) : _*)
Run Code Online (Sandbox Code Playgroud)