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

scala – 解释Contramap

发布时间:2020-12-16 09:41:06 所属栏目:安全 来源:网络整理
导读:有人可以解释一下我吗?这个实现会是什么样子的?什么样的用法很好的例子? // contravariant functortrait Contravariant[F[_]] { def contramap[A,B](f: B = A): F[A] = F[B]} 资料来源:http://tmorris.net/posts/functors-and-things-using-scala/index.
有人可以解释一下我吗?这个实现会是什么样子的?什么样的用法很好的例子?

// contravariant functor
trait Contravariant[F[_]] {
  def contramap[A,B](f: B => A): F[A] => F[B]
}

资料来源:http://tmorris.net/posts/functors-and-things-using-scala/index.html

解决方法

如果您查看以下 Ordering.on方法的标准库:

def on[U](f: U => T): Ordering[U]

你会看到,在将函数从U转换为T时,将Order [T]转换为Ordering [U]。因此,该方法目睹了Ordering可以被看作是Contravariant函子:

def contramap[A,B](f: B => A) = (fa: Ordering[A]) => fa.on(f)

我也看到了Tony的博客文章,它帮助我终于把这个三年07/07的这个意思从我的问题中解读出来了。

(编辑:李大同)

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

    推荐文章
      热点阅读