在Erlang中同时绑定元组及其结构化元素

Jer*_*emy 3 erlang functional-programming

我正在构造一个元组并将其元素绑定到Erlang函数签名中的变量,如下所示:

store({X, Y}, State) ->
    ...
Run Code Online (Sandbox Code Playgroud)

但有时我需要将源元组绑定它的内容.到目前为止,我已用额外的代码处理了这个问题:

store(Point, State) ->
  {X, Y} = Point,
  ...
Run Code Online (Sandbox Code Playgroud)

但我是Erlang的新手,并想知道这是否天真.我的问题受到Scala提取中绑定的启发:

case point@Point(x, y) => ???
Run Code Online (Sandbox Code Playgroud)

是否有更好的方法同时绑定元组及其内容,或者最好是在单独的赋值中对元组进行解构?

Ale*_*nov 14

你可以写

store({X, Y} = Point, State) ->
  ...
Run Code Online (Sandbox Code Playgroud)

它与Scala示例的工作方式类似.