【问题标题】:Extract the main value from partial case从部分案例中提取主要价值
【发布时间】:2014-04-15 12:42:03
【问题描述】:

假设我定义了一些匹配的情况,我只关心验证一个参数:

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

函数签名在哪里:

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

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

【问题讨论】:

    标签: scala partialfunction


    【解决方案1】:
    case xxx @ CallProperty(name, args) if name == someConstant => xxx
    

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

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

    【讨论】:

      【解决方案2】:

      这是你要找的吗?

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-09-13
        • 2021-01-27
        • 2018-01-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-11
        相关资源
        最近更新 更多