Je veux faire une réception sélective où une propriété d'enregistrement doit être mise en correspondance, mais quelle que soit la syntaxe que j'essaie, j'obtiens un message "motif illégal".Erlang: Existe-t-il un moyen de modéliser un enregistrement dans une clause receive?
loop(State) ->
receive
{response, State#s.reference} -> do_something()
end.
N'est-ce pas possible?
Ceci est un motif illégal, car cela signifie littéralement: lier cet élément de l'enregistrement à la valeur reçue par recevoir. Sans oublier que l'accès à l'élément d'enregistrement est fondamentalement un appel de fonction, qui ne peut pas apparaître sur le côté gauche d'une liaison. – Zed