Elixir中简写匿名函数语法是否有访问元组元素的快捷写法?
Elixir 没有内置类似 Scala 的按索引直接访问元组元素的便捷语法,这类场景下 Kernel.elem/2 是官方标准实现方式。
你提到的 Maps 排序是非常典型的使用场景,常用的两种写法如下:
- 完整匿名函数写法
Enum.sort(some_map, fn {k1,_v1}, {k2,_v2} -> k1 <= k2 end)
- 函数捕获简写写法
Enum.sort(some_map, &( elem(&1,0) <= elem(&2,0) ))
如果有频繁访问元组固定索引的需求,也可以通过自定义宏实现类似 Scala 的便捷访问语法,但非特殊场景不推荐使用自定义语法,避免增加团队协作的理解成本。
内容的提问来源于stack exchange,提问作者cppProgrammer
相关产品推荐
相关产品推荐

