从部分案例中提取主要值

时间:2011-11-26 19:51:02

标签: scala partialfunction

假设我正在定义一些匹配的案例,我只关心验证一个论点:

BytecodeChains.partial {
    case CallProperty(name, args) if name == someConstant => xxx
} ....

其中函数签名为:

BytecodeChains.partial[A] (f: PartialFunction[AbstractOp, A]): ...

如何返回整个匹配的CallProperty对象?我可以创建一个新的,但这有点难看。有没有办法引用原文来代替xxx

2 个答案:

答案 0 :(得分:8)

case xxx @ CallProperty(name, args) if name == someConstant => xxx

你也可以这样做:

case xxx @ CallProperty(`someConstant`, args) => xxx

答案 1 :(得分:4)

这是你在找什么?

case c @ CallProperty(name, args) if name == someConstant => c