Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Ennes és tartomány

Ennes (Tuple)

Az ennes rögzített számú, tetszőleges kifejezésből álló, fix sorrendű kollekció. Jelölése kapcsos zárójel, az elemek vesszővel elválasztva. Ennesként tudunk két vagy több értéket paraméterként átadni vagy eredményként visszakapni.

iex> {0x1ff, :erlang, Armstrong, 'Joe'++[0], [], {}}
{511, :erlang, Armstrong, [74, 111, 101, 0], [], {}}

iex> {plus, per, sin} = # mintaillesztések kötésekkel
  {&Kernel.+/2, &//2, &:math.sin/1}
{&:erlang.+/2, &:erlang.//2, &:math.sin/1}

iex> {plus.(3,4), per.(3,4)} # infix volt, prefix lett
{7, 0.75}

iex> sin.(90*:math.pi/180)
1.0

Az első példában a 0x1ff értéke 511, a 'Joe'++[0] pedig a 'Joe' karakterkód-lista és a [0] összefűzése; mivel a 0 nem nyomtatható karakter kódja, a lista számokként jelenik meg (lásd Lista és karakterlánc). A második példa mintaillesztéssel köti a három függvényt a plus, per és sin változóhoz (lásd Mintaillesztés).

Tartomány (Range)

A tartomány egész számok sorozata a [start, end] tartományban, start..end vagy lépésközzel start..end//lépés alakban:

iex> {18..23, 18..10}
{18..23, 18..10//-1}

iex> for i <- 18..10 // -3, do: i
[18, 15, 12]

A 18..10 csökkenő tartomány, az Elixir ki is írja a -1 lépésközt. A második példa a for-jelöléssel sorolja fel a 18..10//-3 tartomány elemeit.

Forrás: dp26a-fp2ea.pdf (10. dia)