gpt4 book ai didi

scala - 点阅读器 monad scala

转载 作者:行者123 更新时间:2023-12-02 02:04:33 25 4
gpt4 key购买 nike

有没有办法在 Reader 上下文中轻松地指向一个值?
我可以使用 Reader 对象并忽略上下文:

Reader {
_ ⇒ 3
}
Scalaz 似乎有一个专门用于此目的的方法 point。我明白了,这是在 Applicative 上定义的。我想,有一些技巧,如何将值放入 Reader 上下文中。

最佳答案

事实上,Reader 有一个 Applicative 实例,您可以像这样使用它(当然,您应该将 String 替换为任何类型)你希望你的环境是):

3.point[({type L[X] = Reader[String, X]})#L]

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

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

3.point[MyReader]

Scalaz 7 还提供了一些很好的速记方式,使其更加清晰:

3.liftReader[String]

不过,这些或多或少彼此等效(以及您的解决方案)。

关于scala - 点阅读器 monad scala,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15836929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com