【发布时间】:2012-01-14 11:33:01
【问题描述】:
我们可以在“Simply Lift”REST 示例中找到
case Nil JsonGet _ => Item.inventoryItems: JValue
但是
case Nil JsonPut Item(item) -> _ => Item.add(item): JValue
为什么是-> _ => 而不是_ =>?那Nil 是干什么用的?
【问题讨论】:
我们可以在“Simply Lift”REST 示例中找到
case Nil JsonGet _ => Item.inventoryItems: JValue
但是
case Nil JsonPut Item(item) -> _ => Item.add(item): JValue
为什么是-> _ => 而不是_ =>?那Nil 是干什么用的?
【问题讨论】:
这是最近邮件列表上的一个主题:Help understanding RestHelper serve params。
基本上,它是一系列以中缀风格编写的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
这使它看起来不那么巫毒。
【讨论】: