Что означает -> _ => в Scala / Lift? - PullRequest
       3

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

10 голосов
/ 07 декабря 2011

В примерах REST "Simply Lift" мы можем найти

case Nil JsonGet _ => Item.inventoryItems: JValue

но

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

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

1 Ответ

13 голосов
/ 07 декабря 2011

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

По сути, это серия о unapply методах, написанных в стиле инфикс. Это означает, что это эквивалентно написанию этого

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

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

...