Haskell语言学习笔记(44)Lens(2)
来源:互联网 发布:鹰击长空2知乎 编辑:程序博客网 时间:2024/06/05 03:17
preview, review
Prelude Control.Lens> view _Left (Left "abc")"abc"Prelude Control.Lens> view _Right (Right "abc")"abc"Prelude Control.Lens> view _Just (Just "abc")"abc"Prelude Control.Lens> preview _Left (Left "abc")Just "abc"Prelude Control.Lens> review _Left "abc"Left "abc"
- preview 和 review 函数处理 Either 这样的和类型
preview 函数向上走一个分支。
review 函数向下走一个分支。
preview, review 的操作符版本
Prelude Control.Lens> Left "abc" ^. _Left"abc"Prelude Control.Lens> Left "abc" ^? _LeftJust "abc"Prelude Control.Lens> Right "abc" ^? _LeftNothingPrelude Control.Lens> Right "abc" ^? _RightJust "abc"Prelude Control.Lens> _Left # "abc"Left "abc"
preview l x ≡ x ^? l
review l x ≡ l # x
toListOf 及其操作符版本
Prelude Control.Lens> toListOf traverse [1,2,3][1,2,3]Prelude Control.Lens> toListOf (traverse.traverse) [[1,2],[3]][1,2,3]Prelude Control.Lens> toListOf both (1,2)[1,2]Prelude Control.Lens> toListOf _1 (4, 1)[4]Prelude Control.Lens> [[1,2],[3]] ^..traverse.traverse[1,2,3]Prelude Control.Lens> (1,2) ^..both[1,2]Prelude Control.Lens> (4, 1) ^.._2[1]
阅读全文
0 0
- Haskell语言学习笔记(44)Lens(2)
- Haskell语言学习笔记(38)Lens(1)
- Haskell语言学习笔记(2)
- Haskell语言学习笔记(1)
- Haskell语言学习笔记(4)Functor
- Haskell语言学习笔记(5)Applicative
- Haskell语言学习笔记(6)Monad
- Haskell语言学习笔记(8)Monoid
- Haskell语言学习笔记(14)Foldable
- Haskell语言学习笔记(16)Alternative
- Haskell语言学习笔记(17)MonadPlus
- Haskell语言学习笔记(18)Traversable
- Haskell语言学习笔记(21)Array
- Haskell语言学习笔记(22)MaybeT
- Haskell语言学习笔记(29)CPS
- Haskell语言学习笔记(31)ListT
- Haskell语言学习笔记(35)Contravariant
- Haskell语言学习笔记(39)Category
- Android开发图片分辨率问题解决方案
- 机器学习的分类
- Android-监听网络状态
- android在任意界面弹出popwindow的两种方方法
- Android程序完全退出的三种方法
- Haskell语言学习笔记(44)Lens(2)
- Android开发者必须深入学习的10个应用开源项目
- input number类型和text类型的区别
- Oracle用户被锁定解决方法
- oracle最高账号sys的密码认证模式
- MVC,MVP 和 MVVM 的图示
- html5知识点:CSRF攻击
- 彻底解决Android 应用方法数不能超过65K的问题
- 如何打造一款成功的产品