我刚刚开始学习Scala cats
框架。我正在阅读Functor
。我了解它的功能,但不了解它的用法。如果map
中已经有Functors
方法(例如List
,Option
等),我为什么要使用它?
例如,
val list = List(1, 2, 3) Functor[List].map(list)(x => x * 2)
但是也可以实现
list.map(x => x * 2)
有人可以请点一下它,以便我了解其用法。
我刚刚开始学习Scala猫框架。我正在阅读Functor。我了解它的功能,但不了解它的用法。如果...
这个问题类似于为什么在OOP中有人需要一个接口(特征),而其实现却具有相同的方法。
当您知道该对象具有此方法并且以这种方式调用此方法时,可以在对象上调用.map
。如果知道对象的确切类型,则编译器可以检查确实是这种情况。但是,如果您不知道对象的类型怎么办?还有,如果您不想使用运行时反射怎么办?