Powered by AppSignal & Oban Pro
Would you like to see your link here? Contact us

Beginner 1

src/livebook/beginner.livemd

Beginner 1

Introduktion

Da du ikke har prøvet at programmere før tager vi det stille og roligt.

Livebook er et interaktivt udviklingsmiljø der tilgås igennem en browser. Man arbejder i notebooks, der fysisk gemmes på den computer der hoster Livebook. Hvis en sådan notebook er assicieret med et filnavn så gemmes den automatisk. Du kan sørge for dette ved at klikke på diskette/gem ikonet i nederste højre hjørne.

En notebook er struktureret i sektioner, og indenfor sådan en sektion kan man placere celler med eksempelvis markdown kode (som dette) eller Elixir kode. Når musen flyttes imellem to celler præsenteres man for muligheder for at tilføje en celle. Når musen flyttes over en eksisterende celle præsenteres muligheder for at interagere med denne celle. Eksempelvis kan en Elixir celle afvikles ved at trykke på ➤ Evaluate over cellen til venstre.

Forberedelse

Værdier og expressions

Al gyldig Elixir kode evaluerer til en værdi. Her er lidt simple eksempler:

"Hello, World"
42
1+2
:math.pi

Tupler

Data kan struktureres i tupler:

{1,2}
{1,2,3}
{"a", 1}
{1,{2,3}}

Pattern matching

Elixir har en match operator = der forsøger at forbinde det der står på den venstre side med det der står på den højre side. Dette bruges typisk til to forskellige ting:

  1. At checke at noget er overholdt. Eksempelvis at en værdi har en specifik struktur. Her bruger man et underscore tegn _ til at markere ting man ikke har behov til at kunne referere til.
  2. At binde variabelnavne til dele af en struktur. Dette betyder at et navn (som vi senere kan referere til), bliver associeret med en værdi.

Lidt eksempler:

pi = :math.pi
pi
t = {1, 2}
{42, {tx, _}} = {42, t}
tx
{x, _y} = t
x
_y

Her skulle du gerne se en advarsel om at Elixir ikke kender til variablen _y. Dette er fordi den starter med en underscore og derfor ikke blev bundet på linjen hvor x blev bundet.

Øvelse

En cirkel har en diameter på $30.9$ (når vi programmerer bruger vi engelsk notation med punktum som kommatalsseparator):

d = 30.9

Med udgangspunkt i variablen d, udregn radius (ved at dividere med to) og gem resultatet i en variabel r:

En cirkel med radius $r$ har omkredsen $2 \pi r$. Prøv at udregne omkredsen af en cirkel denne radius i cellen herunder:

Til højre for ➤ Evaluate knappen er der en drop-down meny. I denne er der en mulighed for automatisk at evaluere cellen når indholdet af den forrige celle har ændret sig.

Du skal nu:

  1. Sørge for at de 2 forrige Elixir celler er sat til automatisk at evaluere.
  2. Ændre definitionen af d i cellen herover til at have værdien :math.pi.
  3. Observere resultatet af den forrige celle.

Næste trin …

Godt, nu har vi været basics igennem. Lad os gå videre til næste øvelse her.