Basisedatatypen en operatoren
Ontdek fundamentele Elixir-datatypen zoals atoms, lijsten, tuples en maps en leer basisoperatoren te gebruiken.
Basisedatatypen en operatoren is een gratis Elixir en Phoenix: schaalbare backendontwikkeling-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Elixir en Phoenix: schaalbare backendontwikkeling. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Elixir en Phoenix: schaalbare backendontwikkeling bevat in totaal 4 lessen.
Introductie tot gegevenstypen en operatoren
Elk programma steunt op gegevenstypen (wat je kunt opslaan) en operatoren (de symbolen die erop werken). Laten we kennismaken met de kern van Elixir.
Getallen: gehele getallen en kommagetallen
Elixir heeft twee getaltypen: gehele getallen zoals 42 en kommagetallen zoals 3.14. Standaardrekenkunde werkt met beide, zoals dit fragment laat zien.
defmodule NumbersDemo do
def run() do
integer_num = 42
float_num = 3.14159
IO.puts "Integer: #{integer_num}"
IO.puts "Float: #{float_num}"
IO.puts "Sum: #{integer_num + 10.0}"
end
end
NumbersDemo.run()Booleans: true, false en nil
Waarheidswaarden zijn true en false. Let op nil voor "geen waarde" — en dat zowel false als nil als onwaar gelden; al het andere geldt als waar.
defmodule BooleansDemo do
def run() do
is_active = true
has_error = false
no_value = nil
IO.puts "Is Active? #{is_active}"
IO.puts "Has Error? #{has_error}"
IO.puts "No Value? #{no_value}"
if no_value do
IO.puts "This won't print."
else
IO.puts "nil is falsy!"
end
end
end
BooleansDemo.run()Atomen: unieke identificatie
Een atoom is een constante waarvan de naam gelijk is aan de eigen waarde, zoals :ok. Atomen zijn snel te vergelijken en ideaal als statuscodes en sleutels van maps.
defmodule AtomsDemo do
def run() do
status = :ok
type = :user
IO.puts "Current status: #{status}"
IO.puts "User type: #{type}"
if status == :ok do
IO.puts "Operation successful!"
end
end
end
AtomsDemo.run()Tekenreeksen: tekstgegevens
Een Elixir-tekenreeks is een UTF-8-binary tussen dubbele aanhalingstekens, zodat elke taal wordt ondersteund. Voeg tekenreeksen samen met de operator <>.
defmodule StringsDemo do
def run() do
greeting = "Hello"
name = "CoddyKit"
message = greeting <> ", " <> name <> "!"
IO.puts message
IO.puts "String length: " <> to_string(String.length(message))
end
end
StringsDemo.run()Lijsten: geordende verzamelingen
Een lijst is een geordende verzameling tussen vierkante haakjes waarin typen kunnen worden gemengd. Dit is het werkpaard van functioneel programmeren en vooraan toevoegen gaat snel.
defmodule ListsDemo do
def run() do
my_list = [1, 2, 3, :hello, "world"]
another_list = [4, 5]
IO.puts "Original list: " <> inspect(my_list)
IO.puts "Concatenated list: " <> inspect(my_list ++ another_list)
IO.puts "Head of list: " <> inspect(hd(my_list))
IO.puts "Tail of list: " <> inspect(tl(my_list))
end
end
ListsDemo.run()Tupels: verzamelingen met vaste grootte
Een tupel is een verzameling met vaste grootte tussen accolades. Je ziet tupels overal voor gegroepeerde resultaten, zoals {:ok, result} of {:error, reason}.
defmodule TuplesDemo do
def run() do
person_info = {"Alice", 30, :female}
result_tuple = {:ok, "Data fetched"}
IO.puts "Person: " <> inspect(person_info)
IO.puts "Result: " <> inspect(result_tuple)
# Accessing elements (0-indexed)
IO.puts "Name: " <> elem(person_info, 0)
end
end
TuplesDemo.run()Maps: sleutel-waardeparen
Een map bevat sleutel-waardeparen in %{} — meestal atoomsleutels voor snelheid. Gebruik een map wanneer je gestructureerde records of configuratie modelleert.
defmodule MapsDemo do
def run() do
user = %{name: "Bob", age: 25, city: "New York"}
IO.puts "User: " <> inspect(user)
IO.puts "User's name: #{user.name}"
# Updating a map
updated_user = %{user | age: 26}
IO.puts "Updated age: #{updated_user.age}"
end
end
MapsDemo.run()Rekenkundige operatoren
Elixir biedt de gebruikelijke rekenkundige operatoren, plus div en rem voor gehele getallen. Let op: / geeft altijd een kommagetal terug.
defmodule ArithmeticDemo do
def run() do
IO.puts "5 + 3 = #{5 + 3}"
IO.puts "10 - 4 = #{10 - 4}"
IO.puts "6 * 7 = #{6 * 7}"
IO.puts "10 / 3 = #{10 / 3}" # Float division
IO.puts "10 div 3 = #{10 div 3}" # Integer division
IO.puts "10 rem 3 = #{10 rem 3}" # Remainder
end
end
ArithmeticDemo.run()Vergelijkingsoperatoren
Vergelijkingsoperatoren geven een boolean terug. Gebruik == voor gelijkheid van waarden, maar === wanneer het type ook belangrijk is — 1 === 1.0 is false.
defmodule ComparisonDemo do
def run() do
IO.puts "5 == 5: #{5 == 5}"
IO.puts "5 != 10: #{5 != 10}"
IO.puts "5 < 10: #{5 < 10}"
IO.puts "10 >= 10: #{10 >= 10}"
IO.puts "1 == 1.0: #{1 == 1.0}" # True (value equality)
IO.puts "1 === 1.0: #{1 === 1.0}" # False (type strictness)
end
end
ComparisonDemo.run()Controleer je begrip
Bekijk het volgende Elixir-codefragment:
result = 10 div 3
status = :ok
message = "Value is #{result}"
comparison = (result > 3) == true
IO.puts "#{message}, Status: #{status}, Comparison: #{comparison}"Wat is de uiteindelijke uitvoer van deze code?
Controleer je begrip (herzien)
Bekijk het volgende Elixir-codefragment:
result = 10 div 3
status = :ok
message = "Value is #{result}"
comparison = (result > 3)
IO.puts "#{message}, Status: #{status}, Comparison: #{comparison}"Wat is de uiteindelijke uitvoer van deze code?
Samenvatting: gegevenstypen en operatoren
Samenvatting: gehele getallen en kommagetallen, booleans plus nil, atomen, tekenreeksen, lijsten, tupels, maps en de operatoren die ermee werken. Dit is de basis van Elixir.
Leer Elixir met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 48
Veelgestelde vragen
Is de les “Basisedatatypen en operatoren” gratis?
Ja — de volledige tekst van “Basisedatatypen en operatoren” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Elixir en Phoenix: schaalbare backendontwikkeling wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Elixir en Phoenix: schaalbare backendontwikkeling bevat in totaal 4 lessen.
Wat leer ik in “Basisedatatypen en operatoren”?
Ontdek fundamentele Elixir-datatypen zoals atoms, lijsten, tuples en maps en leer basisoperatoren te gebruiken. Je oefent met Elixir en Phoenix: schaalbare backendontwikkeling door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Elixir en Phoenix: schaalbare backendontwikkeling te beginnen?
Ervaring vooraf is niet nodig. Elixir en Phoenix: schaalbare backendontwikkeling op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “Basisedatatypen en operatoren”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Elixir en Phoenix: schaalbare backendontwikkeling?
Ja. Elke les over Elixir en Phoenix: schaalbare backendontwikkeling bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Inleiding tot de programmeertaal Elixir
- Basisedatatypen en operatoren
- Pattern matching en control flow
- Strings, binaries en sigils in Elixir