点阅读器monad scala

点阅读器monad scala,scala,scalaz,scalaz7,Scala,Scalaz,Scalaz7,有没有一种方法,如何在读取器上下文中轻松地指向一个值? 我可以使用Reader对象并忽略上下文: Reader { _ ⇒ 3 } Scalaz似乎有一个专门针对这一点的方法点。我明白了,这是在Applicative上定义的。我想,有一些技巧,如何将一个值放入读取器上下文。实际上有一个应用程序的实例,您可以这样使用它(当然,您应该用您想要的环境类型替换字符串): 如果希望避免使用丑陋的lambda类型,并且不介意定义额外的类型别名,则可以编写以下代码: type MyReader[X] =

有没有一种方法,如何在
读取器
上下文中轻松地
指向
一个值?
我可以使用
Reader
对象并忽略上下文:
Reader {
  _ ⇒ 3
}

Scalaz似乎有一个专门针对这一点的方法
。我明白了,这是在
Applicative
上定义的。我想,有一些技巧,如何将一个值放入
读取器
上下文。

实际上有一个
应用程序的
实例,您可以这样使用它(当然,您应该用您想要的环境类型替换
字符串
):

如果希望避免使用丑陋的lambda类型,并且不介意定义额外的类型别名,则可以编写以下代码:

type MyReader[X] = Reader[String, X]

3.point[MyReader]
Scalaz 7还提供了一个很好的速记功能,使其更加简洁:

3.liftReader[String]
不过,它们或多或少都是等价的(和您的解决方案)

3.liftReader[String]