为什么需要在Scala猫中使用Functor

问题描述 投票:0回答:1

我刚刚开始学习Scala cats框架。我正在阅读Functor。我了解它的功能,但不了解它的用法。如果map中已经有Functors方法(例如ListOption等),我为什么要使用它?

例如,

val list = List(1, 2, 3)
Functor[List].map(list)(x => x * 2)

但是也可以实现

list.map(x => x * 2)

有人可以请点一下它,以便我了解其用法。

我刚刚开始学习Scala猫框架。我正在阅读Functor。我了解它的功能,但不了解它的用法。如果...

scala functor scala-cats
1个回答
0
投票

这个问题类似于为什么在OOP中有人需要一个接口(特征),而其实现却具有相同的方法。


0
投票

当您知道该对象具有此方法并且以这种方式调用此方法时,可以在对象上调用.map。如果知道对象的确切类型,则编译器可以检查确实是这种情况。但是,如果您不知道对象的类型怎么办?还有,如果您不想使用运行时反射怎么办?

© www.soinside.com 2019 - 2024. All rights reserved.