1
0
mirror of https://github.com/adambard/learnxinyminutes-docs.git synced 2025-08-11 09:14:39 +02:00

Merge pull request #3678 from neslinesli93/feature/fix_elixir_it

[elixir/it-it] Add section about pipes, and fix docs here and there
This commit is contained in:
Divay Prakash
2020-01-11 14:05:58 +05:30
committed by GitHub

View File

@@ -124,7 +124,8 @@ rem(10, 3) #=> 1
# Questi operatori si aspettano un booleano come primo argomento. # Questi operatori si aspettano un booleano come primo argomento.
true and true #=> true true and true #=> true
false or true #=> true false or true #=> true
# 1 and true #=> ** (ArgumentError) argument error # 1 and true
#=> ** (BadBooleanError) expected a boolean on left-side of "and", got: 1
# Elixir fornisce anche `||`, `&&` e `!` che accettano argomenti # Elixir fornisce anche `||`, `&&` e `!` che accettano argomenti
# di qualsiasi tipo. # di qualsiasi tipo.
@@ -286,7 +287,11 @@ end
MatematicaPrivata.somma(1, 2) #=> 3 MatematicaPrivata.somma(1, 2) #=> 3
# MatematicaPrivata.esegui_somma(1, 2) #=> ** (UndefinedFunctionError) # MatematicaPrivata.esegui_somma(1, 2) #=> ** (UndefinedFunctionError)
# Anche le dichiarazioni di funzione supportano guardie e condizioni multiple: # Anche le dichiarazioni di funzione supportano guardie e condizioni multiple.
# Quando viene chiamata una funzione dichiarata con più match, solo la prima
# che matcha viene effettivamente invocata.
# Ad esempio: chiamando area({:cerchio, 3}) vedrà invocata la seconda definizione
# di area mostrata sotto, non la prima:
defmodule Geometria do defmodule Geometria do
def area({:rettangolo, w, h}) do def area({:rettangolo, w, h}) do
w * h w * h
@@ -322,10 +327,19 @@ defmodule Modulo do
Questo è un attributo incorporato in un modulo di esempio. Questo è un attributo incorporato in un modulo di esempio.
""" """
@miei_dati 100 # Questo è un attributo personalizzato . @miei_dati 100 # Questo è un attributo personalizzato.
IO.inspect(@miei_dati) #=> 100 IO.inspect(@miei_dati) #=> 100
end end
# L'operatore pipe |> permette di passare l'output di una espressione
# come primo parametro di una funzione.
# Questo facilita operazioni quali pipeline di operazioni, composizione di
# funzioni, ecc.
Range.new(1,10)
|> Enum.map(fn x -> x * x end)
|> Enum.filter(fn x -> rem(x, 2) == 0 end)
#=> [4, 16, 36, 64, 100]
## --------------------------- ## ---------------------------
## -- Strutture ed Eccezioni ## -- Strutture ed Eccezioni
## --------------------------- ## ---------------------------
@@ -421,7 +435,7 @@ self() #=> #PID<0.27.0>
## Referenze ## Referenze
* [Getting started guide](http://elixir-lang.org/getting_started/1.html) dalla [pagina web ufficiale di elixir](http://elixir-lang.org) * [Getting started guide](http://elixir-lang.org/getting_started/1.html) dalla [pagina web ufficiale di elixir](http://elixir-lang.org)
* [Documentazione Elixir](http://elixir-lang.org/docs/master/) * [Documentazione Elixir](https://elixir-lang.org/docs.html)
* ["Programming Elixir"](https://pragprog.com/book/elixir/programming-elixir) di Dave Thomas * ["Programming Elixir"](https://pragprog.com/book/elixir/programming-elixir) di Dave Thomas
* [Elixir Cheat Sheet](http://media.pragprog.com/titles/elixir/ElixirCheat.pdf) * [Elixir Cheat Sheet](http://media.pragprog.com/titles/elixir/ElixirCheat.pdf)
* ["Learn You Some Erlang for Great Good!"](http://learnyousomeerlang.com/) di Fred Hebert * ["Learn You Some Erlang for Great Good!"](http://learnyousomeerlang.com/) di Fred Hebert