4
假設我有一個像at _
一個鏡頭,需要一些Maybe a
:如何撰寫返回也許(哈斯克爾)鏡頭
import Data.Map as M
m = M.fromList [(1,(2,3))]
--set 2nd element
m ^. at 1 .~ Just (4,5)
--gives fromList [(1,(4,5))]
m ^. at 1 .~ Nothing
--gives fromList()
現在假設我想與另一個鏡片組成的。這個鏡頭返回一些Maybe a
的事實阻止我直接做它。
m ^. at 1 . _2 .~ Just 4
--error
-- I want to get M.fromList [(1,(2,4))]
什麼是正確的方法來做到這一點?