diff options
author | Lari Kovanen <lari@kovanen.se> | 2015-12-09 13:25:01 +0100 |
---|---|---|
committer | Lari Kovanen <lari@kovanen.se> | 2015-12-09 13:25:01 +0100 |
commit | 46d3c28a5fc341f3b8ef061e963adfc7c610263e (patch) | |
tree | 794df6f192a3875dc09d2710395048c5f405a806 /it-it/elixir-it.html.markdown | |
parent | dbfb19bb5779e84add18a19ebc36833e748e69d9 (diff) | |
parent | 1f76b2ad8c35b6c7e8ac2cc5dac8f20bc74f09ef (diff) |
Merge remote-tracking branch 'adambard/master'
Diffstat (limited to 'it-it/elixir-it.html.markdown')
-rw-r--r-- | it-it/elixir-it.html.markdown | 10 |
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} |