遍歷
一個 Traversal' s a
表明 s
裡面有 0 到多個 a
s。
toListOf::Traversal' s a -> (s -> [a])
任何型別的 t
都是 Traversable
自動擁有 traverse::Traversal (t a) a
。
我們可以使用 Traversal
來設定或對映所有這些 a
值
> set traverse 1 [1..10]
[1,1,1,1,1,1,1,1,1,1]
> over traverse (+1) [1..10]
[2,3,4,5,6,7,8,9,10,11]
一個 f::Lens' s a
說,在 s
裡面只有一個 a
。一個 g::Prism' a b
說在 a
中有 0 或 1 個 b
s。組成 f . g
給了我們一個 Traversal' s b
因為跟隨 f
然後 g
顯示了 s
中 0 到 1 的 b
s。