Perustietotyypit ja operaattorit
Tutustukaa Elixirin perustietotyyppeihin, kuten atomeihin, listoihin, monikoihin ja karttoihin, sekä oppikaa käyttämään perusoperaattoreita.
Perustietotyypit ja operaattorit on ilmainen Elixir ja Phoenix: skaalautuva backend-kehitys-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Elixir ja Phoenix: skaalautuva backend-kehitys-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Elixir ja Phoenix: skaalautuva backend-kehitys-kurssilla on yhteensä 4 oppituntia.
Tietotyypit ja operaattorit: johdanto
Jokainen ohjelma perustuu tietotyyppeihin (mitä voitte tallentaa) ja operaattoreihin (symboleihin, jotka käsittelevät tietoja). Tutustutaan Elixirin ydinkäsitteisiin.
Luvut: kokonaisluvut ja liukuluvut
Elixirissä on kaksi lukutyyppiä: kokonaisluvut, kuten 42, ja liukuluvut, kuten 3.14. Tavalliset laskutoimitukset toimivat molemmilla, kuten tämä koodiesimerkki osoittaa.
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()Totuusarvot: true, false ja nil
Totuusarvot ovat true ja false. Huomioikaa myös nil, joka tarkoittaa ”ei arvoa” — sekä se, että sekä false että nil tulkitaan epätosiksi; kaikki muu tulkitaan todeksi.
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()Atomit: yksilölliset tunnisteet
Atom on vakio, jonka nimi on sen oma arvo, kuten :ok. Atomeja on nopea verrata, ja ne sopivat erinomaisesti tilakoodeiksi ja map-rakenteiden avaimiksi.
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()Merkkijonot: tekstimuotoinen data
Elixirin merkkijono on lainausmerkkien sisällä oleva UTF-8-binääri, joten se käsittelee kaikkia kieliä. Yhdistäkää merkkijonoja <>-operaattorilla.
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()Listat: järjestetyt kokoelmat
Lista on järjestetty, hakasulkeilla rajattu kokoelma, joka voi sisältää eri tyyppejä. Se on funktionaalisen ohjelmoinnin monikäyttöinen työväline, jonka alkuun on nopea lisätä alkioita.
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()Tuplat: kiinteän kokoiset kokoelmat
Tupla on aaltosulkeilla rajattu, kiinteän kokoinen kokoelma. Niitä käytetään kaikkialla ryhmiteltyjen palautusarvojen kanssa, kuten {:ok, result} tai {: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()Mapit: avain–arvo-parit
Map sisältää avain–arvo-pareja muodossa %{} — yleensä atomiavaimilla nopeuden vuoksi. Käyttäkää map-rakennetta aina, kun mallinnatte rakenteisia tietueita tai asetuksia.
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()Aritmeettiset operaattorit
Elixir tarjoaa tavalliset aritmeettiset operaattorit sekä kokonaislukujen käsittelyyn operaattorit div ja rem. Huomioikaa, että / palauttaa aina liukuluvun.
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()Vertailuoperaattorit
Vertailuoperaattorit palauttavat totuusarvon. Käyttäkää arvojen yhtäsuuruuteen operaattoria ==, mutta silloin kun myös tyypillä on merkitystä, käyttäkää operaattoria === — 1 === 1.0 on epätosi.
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()Testaa ymmärryksesi
Tarkastelkaa seuraavaa Elixir-koodiesimerkkiä:
result = 10 div 3
status = :ok
message = "Value is #{result}"
comparison = (result > 3) == true
IO.puts "#{message}, Status: #{status}, Comparison: #{comparison}"Mikä on tämän koodin lopullinen tuloste?
Testaa ymmärryksesi (päivitetty)
Tarkastelkaa seuraavaa Elixir-koodiesimerkkiä:
result = 10 div 3
status = :ok
message = "Value is #{result}"
comparison = (result > 3)
IO.puts "#{message}, Status: #{status}, Comparison: #{comparison}"Mikä on tämän koodin lopullinen tuloste?
Kertaus: tietotyypit ja operaattorit
Kertaus: kokonaisluvut ja liukuluvut, totuusarvot ja nil, atomit, merkkijonot, listat, tuplat, mapit sekä niitä käsittelevät operaattorit. Näistä muodostuu Elixir-osaamisenne perusta.
Opi Elixir tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”Perustietotyypit ja operaattorit” ilmainen?
Kyllä – oppitunnin ”Perustietotyypit ja operaattorit” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Elixir ja Phoenix: skaalautuva backend-kehitys-kurssin, päivitä CoddyKit PROhon. Elixir ja Phoenix: skaalautuva backend-kehitys-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Perustietotyypit ja operaattorit”?
Tutustukaa Elixirin perustietotyyppeihin, kuten atomeihin, listoihin, monikoihin ja karttoihin, sekä oppikaa käyttämään perusoperaattoreita. Harjoittelet Elixir ja Phoenix: skaalautuva backend-kehitys-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Elixir ja Phoenix: skaalautuva backend-kehitys-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Elixir ja Phoenix: skaalautuva backend-kehitys-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Perustietotyypit ja operaattorit”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Elixir ja Phoenix: skaalautuva backend-kehitys-oppitunnilla?
Kyllä. Jokainen Elixir ja Phoenix: skaalautuva backend-kehitys-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Elixir-kielen esittely
- Perustietotyypit ja operaattorit
- Hahmonsovitus ja ohjausvirta
- Merkkijonot, binäärit ja sigilit Elixirissä