Scalaz-ReaderT合成
我有2个ReaderT类型的函数,我想把它们组合起来Scalaz-ReaderT合成,scala,scalaz,Scala,Scalaz,我有2个ReaderT类型的函数,我想把它们组合起来 def nextTask(): ReaderT[Option, Env, Task] 返回要执行的下一个任务的选项 def run(taskName: String): ReaderT[Option, Env, Int] 获取任务(task.name)并返回结果代码或无(失败) 我使用ReaderT作为环境设置(Test/prod)。 下面是我做的测试的一个片段 val p = for { t <- nextTask() c &
def nextTask(): ReaderT[Option, Env, Task]
返回要执行的下一个任务的选项
def run(taskName: String): ReaderT[Option, Env, Int]
获取任务(task.name)并返回结果代码或无(失败)
我使用ReaderT作为环境设置(Test/prod)。
下面是我做的测试的一个片段
val p = for {
t <- nextTask()
c <- run(t.name)
} yield c
p.run(TestEnv) shouldEqual 1
这里到底缺少什么
谢谢您缺少Bind[选项]的typeclass。尝试
导入scalaz.std.option.optionInstance
这很有帮助。这太容易了。我没有在任何文档中看到它。
could not find implicit value for parameter M: scalaz.Bind[Option]