summaryrefslogtreecommitdiffhomepage
path: root/it-it/elixir-it.html.markdown
diff options
context:
space:
mode:
authorLari Kovanen <lari@kovanen.se>2015-12-09 13:25:01 +0100
committerLari Kovanen <lari@kovanen.se>2015-12-09 13:25:01 +0100
commit46d3c28a5fc341f3b8ef061e963adfc7c610263e (patch)
tree794df6f192a3875dc09d2710395048c5f405a806 /it-it/elixir-it.html.markdown
parentdbfb19bb5779e84add18a19ebc36833e748e69d9 (diff)
parent1f76b2ad8c35b6c7e8ac2cc5dac8f20bc74f09ef (diff)
Merge remote-tracking branch 'adambard/master'
Diffstat (limited to 'it-it/elixir-it.html.markdown')
-rw-r--r--it-it/elixir-it.html.markdown10
1 files changed, 10 insertions, 0 deletions
diff --git a/it-it/elixir-it.html.markdown b/it-it/elixir-it.html.markdown
index f5d0c172..60301b1a 100644
--- a/it-it/elixir-it.html.markdown
+++ b/it-it/elixir-it.html.markdown
@@ -4,6 +4,8 @@ contributors:
- ["Luca 'Kino' Maroni", "https://github.com/kino90"]
- ["Joao Marques", "http://github.com/mrshankly"]
- ["Dzianis Dashkevich", "https://github.com/dskecse"]
+translators:
+ - ["Tommaso Pifferi","http://github.com/neslinesli93"]
filename: learnelixir-it.ex
lang: it-it
---
@@ -379,6 +381,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 +402,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}