如何在 Elixir 中使用捕获运算符从列表中捕获元组?

How to use capture operator in Elixir to capture a tuple from a list?

我无法理解如何使用捕获运算符捕获元组。这是我的功能代码。

MyList.map([{"person 1",27},{"person 2",20}], fn({name,_}) -> name end)                 
// ["person 1","person 2"]

任何人都可以帮助我了解如何通过捕获操作员进行操作。到目前为止我已经试过了但是没有用。

MyList.map([{"person 1",27},{"person 2",20}], & &1}) // returns same List with same tuple
MyList.map([{"person 1",27},{"person 2",20}], &{&1,&2} &1) // error

这种确切的行为是不可能的,无法到达捕获项的内部状态,&1&2 等捕获整个参数。使用 Kernel.elem/2:

MyList.map([{"person 1",27},{"person 2",20}], & elem(&1, 0))