在 Elixir 中,我有以下列表:
[ :juridical_person_document, [re_developments: [[properties: [[re_development: [:re_developer]]]]]], :legal_address ]
我想要的输出是这样的:
[ :juridical_person_document, re_developments: [properties: [re_development: [:re_developer]]], :legal_address ]
换句话说,我想删除不必要的方括号。我怎样才能做到这一点?
我知道这可以通过递归来实现,但我还不知道如何实现。
突然间
Macro.postwalk/2
就在这里工作了。这个 hack 使用了这样一个事实:列表、原子和大小为 2 的元组都是有效的 AST。