summaryrefslogtreecommitdiffhomepage
path: root/it-it/elixir-it.html.markdown
diff options
context:
space:
mode:
authorTommaso <p.tommy93@gmail.com>2015-10-18 13:34:40 +0200
committerTommaso <p.tommy93@gmail.com>2015-10-18 13:34:40 +0200
commitade3e872abaa21bb00bc0eaafdabce8bc5039399 (patch)
tree021def4739c41ebf8a918c8a3381a93952330858 /it-it/elixir-it.html.markdown
parent834846cdba4adbfe61fcb485cbe39b179b799722 (diff)
[elixir/it] Bring this version up to date with the english one
The following commits were taken into consideration and translated into italian: d8001da79909734d333de31079ca2f4d884a6b21 65f951d87c80deff6c447faa4690dcfe1bb4d36a 07e04e7a2d0f2b7269e4495c338b039a30f70e64
Diffstat (limited to 'it-it/elixir-it.html.markdown')
-rw-r--r--it-it/elixir-it.html.markdown8
1 files changed, 8 insertions, 0 deletions
diff --git a/it-it/elixir-it.html.markdown b/it-it/elixir-it.html.markdown
index f5d0c172..d4a7ab54 100644
--- a/it-it/elixir-it.html.markdown
+++ b/it-it/elixir-it.html.markdown
@@ -379,6 +379,12 @@ spawn(f) #=> #PID<0.40.0>
# Per passare messaggi si usa l'operatore `send`.
# Perché tutto questo sia utile dobbiamo essere capaci di ricevere messaggi,
# oltre ad inviarli. Questo è realizzabile con `receive`:
+
+# Il blocco `receive do` viene usato per mettersi in ascolto di messaggi
+# ed elaborarli quando vengono ricevuti. Un blocco `receive do` elabora
+# un solo messaggio ricevuto: per fare elaborazione multipla di messaggi,
+# una funzione con un blocco `receive do` al suo intero dovrà chiamare
+# ricorsivamente sé stessa per entrare di nuovo nel blocco `receive do`.
defmodule Geometria do
def calcolo_area do
receive do
@@ -394,6 +400,8 @@ end
# Compila il modulo e crea un processo che esegue `calcolo_area` nella shell
pid = spawn(fn -> Geometria.calcolo_area() end) #=> #PID<0.40.0>
+# Alternativamente
+pid = spawn(Geometria, :calcolo_area, [])
# Invia un messaggio a `pid` che farà match su un pattern nel blocco in receive
send pid, {:rettangolo, 2, 3}