mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-11-22 21:52:31 +03:00
Add section about pipes, and fix docs here and there for elixir/it-it
This commit is contained in:
parent
bd8c7fa499
commit
b7a5d8f8e0
@ -124,7 +124,8 @@ rem(10, 3) #=> 1
|
||||
# Questi operatori si aspettano un booleano come primo argomento.
|
||||
true and 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
|
||||
# di qualsiasi tipo.
|
||||
@ -286,7 +287,11 @@ end
|
||||
MatematicaPrivata.somma(1, 2) #=> 3
|
||||
# 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
|
||||
def area({:rettangolo, w, h}) do
|
||||
w * h
|
||||
@ -326,6 +331,15 @@ defmodule Modulo do
|
||||
IO.inspect(@miei_dati) #=> 100
|
||||
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
|
||||
## ---------------------------
|
||||
@ -421,7 +435,7 @@ self() #=> #PID<0.27.0>
|
||||
## Referenze
|
||||
|
||||
* [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
|
||||
* [Elixir Cheat Sheet](http://media.pragprog.com/titles/elixir/ElixirCheat.pdf)
|
||||
* ["Learn You Some Erlang for Great Good!"](http://learnyousomeerlang.com/) di Fred Hebert
|
||||
|
Loading…
Reference in New Issue
Block a user