零arg模式匹配一​​个arg预期

 Yunir_944 发布于 2023-02-12 10:23

鉴于Scala中的这个定义:

class Foo(val n: Int)

object Foo {
  def unapply(foo: Foo): Option[Int] = Some(foo.n)
}

此表达式编译并返回ok:

new Foo(1) match {
  case Foo() => "ok"
}

    为什么这甚至编译?我希望一个提取器Option[T]暗示匹配模式只有一个参数.

    这种模式Foo()在这里意味着什么?它等同于Foo(_)

换句话说,什么是支持经验行为的语言规则.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有