从部分案例中提取主要值

vir*_*tor 0 scala partialfunction

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

BytecodeChains.partial {
    case CallProperty(name, args) if name == someConstant => xxx
} ....
Run Code Online (Sandbox Code Playgroud)

功能签名是:

BytecodeChains.partial[A] (f: PartialFunction[AbstractOp, A]): ...
Run Code Online (Sandbox Code Playgroud)

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

agi*_*eel 8

case xxx @ CallProperty(name, args) if name == someConstant => xxx
Run Code Online (Sandbox Code Playgroud)

你也可以这样做:顺便说一下:

case xxx @ CallProperty(`someConstant`, args) => xxx
Run Code Online (Sandbox Code Playgroud)