标签: haskell lens
是否有任何镜头可以帮助我对任何长度的元组进行以下转换(至少说10-15个元素):
(a, b, c) -> d -> (a, b, c, d)
答案 0 :(得分:2)
要获得镜头,您需要一个具有定位器功能的吸气剂。不幸的是,没有办法获得三元组的第四个元素(Nothing除外,或任何其他单元类型)。所以,你最终得到了一堆setter,这些是一些简单的模式匹配函数(每个n元组一个),但不是镜头。
Nothing
如果你真的需要非均匀的容器,你可能需要一个简单的列表或一些免费的构造吗?