Scala 如何使用依赖于此环境的函数映射读取器
给定Scala 如何使用依赖于此环境的函数映射读取器,scala,scalaz,Scala,Scalaz,给定读卡器[E,a]和函数(E,a)=>B,如何获得读卡器[E,B]?scalaz中是否存在现有函数 目前,我编写了这个小函数: def map2[E, A, B](reader: Reader[E, A], f: (E, A) => B) : Reader[E, B] = { Reader { e => f(e, reader(e)) } } 我脑子里想不出哪一个组合器能做到这一点。我想你可能会说,reader-reader(e=>f(e,)))使可读性更明显,但我发现你的版
读卡器[E,a]
和函数(E,a)=>B
,如何获得读卡器[E,B]
?scalaz中是否存在现有函数
目前,我编写了这个小函数:
def map2[E, A, B](reader: Reader[E, A], f: (E, A) => B) : Reader[E, B] = {
Reader { e => f(e, reader(e)) }
}
我脑子里想不出哪一个组合器能做到这一点。我想你可能会说,
reader-reader(e=>f(e,)))
使可读性更明显,但我发现你的版本更清晰。