Что значит → _ => означает в Scala/Lift?

В примерах REST "Простота подъема" мы можем найти

case Nil JsonGet _ => Item.inventoryItems: JValue

но

case Nil JsonPut Item(item) -> _ => Item.add(item): JValue

Почему -> _ => вместо _ =>? И что это за Nil для?

Ответ 1

В последнее время это была тема в списке рассылки: Помогите понять параметры службы RestHelper.

В принципе, это серия по методам unapply, написанная в стиле infix. Это означает, что это эквивалентно написанию

case JsonGet(Nil, _) => Item.inventoryItems: JValue

и

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

что делает его немного менее вуду.