什么 - > _ =>在Scala/Lift中意味着什么?

Iva*_*van 10 scala lift

在我们可以找到的"简单提升"REST示例中

case Nil JsonGet _ => Item.inventoryItems: JValue
Run Code Online (Sandbox Code Playgroud)

case Nil JsonPut Item(item) -> _ => Item.add(item): JValue
Run Code Online (Sandbox Code Playgroud)

为什么-> _ =>而不是_ =>?这是Nil为了什么?

Deb*_*ski 13

这是最近邮件列表中的一个主题:帮助理解RestHelper服务参数.

基本上,它是一个unapply用中缀风格编写的方法系列.这意味着它等同于编写它

case JsonGet(Nil, _) => Item.inventoryItems: JValue
Run Code Online (Sandbox Code Playgroud)

case JsonPut(Nil, Item(item) -> _) => Item.add(item): JValue // or
case JsonPut(Nil, Tuple2(Item(item), _)) => Item.add(item): JValue
// using that -> denotes a Tuple
Run Code Online (Sandbox Code Playgroud)

这使得它看起来有点巫术.