加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Scala?>(波浪号大于)运算符

发布时间:2020-12-16 09:42:46 所属栏目:安全 来源:网络整理
导读:我有以下scala类定义(在一篇论文中找到),建模类别: trait Category[~[_,_]] { def compose[A,B,C] (f: B ~ C) (g: A ~ B) : A ~ C def id[A]: A ~ A} 有人可以解释一下’?’是指在Category类型参数中,并在方法中返回类型? 或者引导我来解释它的资源… 我
我有以下scala类定义(在一篇论文中找到),建模类别:

trait Category[~>[_,_]] {
    def compose[A,B,C]
     (f: B ~> C)
     (g: A ~> B)
     : A ~> C
    def id[A]: A ~> A
}

有人可以解释一下’?>’是指在Category类型参数中,并在方法中返回类型?
或者引导我来解释它的资源…
我是新来的Scala(来自Java),所以原谅我,如果这是一个scala的用户应该知道…
先谢谢你

解决方法

?>只是类别的类型参数的占位符名称。类似于T选项[T]。

另外,Scala语法允许你写B? C作为?> [B,C]的缩写。

也许事情变得更清楚,如果你重命名它:

trait Category[Mapping[_,_]] {
  def compose[A,C](f: Mapping[B,C])(g: Mapping[A,B]): Mapping[A,C]
  def id[A]: Mapping[A,A]
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读