加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

点读者monad scala

发布时间:2020-12-16 09:05:59 所属栏目:安全 来源:网络整理
导读:有没有办法,如何在Reader上下文中轻松指出一个值? 我可以使用Reader对象并忽略上下文: Reader { _ ? 3} Scalaz似乎有一个具体的方法点.我明白了,这是在Applicative上定义的.我想,有一些技巧,如何将值放入Reader上下文中. 解决方法 实际上有一个Reader的App
有没有办法,如何在Reader上下文中轻松指出一个值?
我可以使用Reader对象并忽略上下文:

Reader {
  _ ? 3
}

Scalaz似乎有一个具体的方法点.我明白了,这是在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]

但是,它们或多或少都相互之间(和您的解决方案)相同.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读