2010-06-22 11 views

Répondre

8

Aussi simple que cela ...

{_, Shape} = {<0.206.0>, {rect, 10, 30}}. 

Cependant, vous ne pouvez pas créer un processus id d'un littéral, de sorte que la syntaxe ci-dessus est faux, mais essayez ceci dans le REPL ...

1> {_, Shape} = {self(), {rect, 10, 30}}. 
{<0.31.0>,{rect,10,30}} 
2> Shape. 
{rect,10,30} 
+0

Oui, merci. J'étais sur le point de poster ce self() travaillé, même si cela donne des nombres différents. :) La question est assez étrange cependant, puisque le conférencier n'a pas du tout parlé de PID. Eh bien, cela devrait faire. – Peterx

4

<0.206.0> ressemble à un PID. C'est juste une chose de toute façon, alors ne pense pas à ça.

Vous pouvez faire ce que dsmith suggère, en fonction de votre contexte, ou vous pouvez simplement faire ceci:

Shape = element(2, {<0.206.0>, {rect, 10, 30}}). 
3

Pour votre référence ultérieure, vous pouvez utiliser la fonction pid/0 à « créer » un pid spécifique:

1> Pid = pid(0,206,0). 
<0.206.0> 
2> {Pid, Shape} = {Pid, {rect, 10, 30}}. 
{<0.206.0>,{rect,10,30}}