我试图完成以下内容:
jsonStr = "{\"a\": \"hello\",
\"b\": [\"world\", \"everyone\", \"42\"]}"
someALens = ...
someBLens = ...
combinedJson = jsonStr ... someALens ... someBLens
得到结果:
combinedJson == ["hello world", "hello everyone", "hello 42"]
然而,我发现的组合运算符(如<>~
)似乎需要一个设定值来对镜头进行加速(或以其他方式组合)。我怎样才能制作出能够结合多个镜头值的复合镜头?
答案 0 :(得分:4)
正如评论中所讨论的,答案是相当虎头蛇尾的jsonStr ^.. (someALens <> someBLens)
。两个吸气剂成了一个折叠。 Monoids,我们的朋友永远。