Grundläggande datatyper och operatorer
Utforska grundläggande Elixir-datatyper som atomer, listor, tupler och mappar samt lär dig använda grundläggande operatorer.
Grundläggande datatyper och operatorer är en gratis lektion i Elixir och Phoenix: skalbar backendutveckling på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Elixir och Phoenix: skalbar backendutveckling, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Elixir och Phoenix: skalbar backendutveckling innehåller totalt 4 lektioner.
Introduktion till datatyper och operatorer
Alla program bygger på datatyper (vad du kan lagra) och operatorer (symbolerna som arbetar med dem). Låt oss bekanta oss med Elixirs grunder.
Tal: heltal och flyttal
Elixir har två taltyper: heltal som 42 och flyttal som 3.14. Vanlig matematik fungerar för båda, vilket detta kodexempel visar.
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()Booleska värden: true, false, nil
Sanningsvärdena är true och false. Lägg märke till nil för ”inget värde” — och att både false och nil är falsy; allt annat är truthy.
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()Atomer: unika identifierare
En atom är en konstant vars namn är dess eget värde, som :ok. De är snabba att jämföra och idealiska som statuskoder och nycklar i mappar.
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()Strängar: textdata
En sträng i Elixir är en UTF-8-binär inom dubbla citattecken, så den hanterar alla språk. Slå ihop strängar med operatorn <>.
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()Listor: ordnade samlingar
En lista är en ordnad samling inom hakparenteser som kan blanda datatyper. Den är det funktionella arbetshästverktyget och snabb att lägga till element först i.
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()Tupler: samlingar med fast storlek
En tupel är en samling med fast storlek inom klammerparenteser. Du ser dem överallt för grupperade returvärden, som {:ok, result} eller {: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()Mappar: nyckel-värde-par
En mapp innehåller nyckel-värde-par i %{} — vanligtvis atomnycklar för högre hastighet. Använd den när du modellerar strukturerade poster eller konfiguration.
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()Aritmetiska operatorer
Elixir ger dig de vanliga aritmetiska operatorerna samt div och rem för heltal. Observera: / returnerar alltid ett flyttal.
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()Jämförelseoperatorer
Jämförelseoperatorer returnerar ett booleskt värde. Använd == för likhet mellan värden, men === när även typen spelar roll — 1 === 1.0 är 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()Kontrollera dina kunskaper
Betrakta följande Elixir-kodexempel:
result = 10 div 3
status = :ok
message = "Value is #{result}"
comparison = (result > 3) == true
IO.puts "#{message}, Status: #{status}, Comparison: #{comparison}"Vad blir den slutliga utskriften från denna kod?
Kontrollera dina kunskaper (reviderad)
Betrakta följande Elixir-kodexempel:
result = 10 div 3
status = :ok
message = "Value is #{result}"
comparison = (result > 3)
IO.puts "#{message}, Status: #{status}, Comparison: #{comparison}"Vad blir den slutliga utskriften från denna kod?
Sammanfattning: Datatyper och operatorer
Sammanfattning: heltal och flyttal, booleska värden samt nil, atomer, strängar, listor, tupler, mappar och operatorerna som används med dem. Detta är grunden i Elixir.
Lär dig Elixir med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 12
- Lektioner
- 48
Vanliga frågor
Är lektionen ”Grundläggande datatyper och operatorer” gratis?
Ja – hela texten till ”Grundläggande datatyper och operatorer” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Elixir och Phoenix: skalbar backendutveckling, kan Ni uppgradera till CoddyKit PRO. Kursen i Elixir och Phoenix: skalbar backendutveckling innehåller totalt 4 lektioner.
Vad lär jag mig i ”Grundläggande datatyper och operatorer”?
Utforska grundläggande Elixir-datatyper som atomer, listor, tupler och mappar samt lär dig använda grundläggande operatorer. Ni övar på Elixir och Phoenix: skalbar backendutveckling med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Elixir och Phoenix: skalbar backendutveckling?
Du behöver inga förkunskaper. Utbildningen i Elixir och Phoenix: skalbar backendutveckling på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Grundläggande datatyper och operatorer”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Elixir och Phoenix: skalbar backendutveckling-lektionen?
Ja. Varje Elixir och Phoenix: skalbar backendutveckling-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Introduktion till Elixir-språket
- Grundläggande datatyper och operatorer
- Mönstermatchning och styrflöde
- Strängar, binärer och sigiller i Elixir