Lua-sheriffen, del 2- Strängar

Äntligen måndag! 🙂

Förra gången gick vi igenom Luas historia och grundläggande uppbyggnad.

I detta inlägg ska vi gå igenom något på vilket Lua är väldigt smidigt: strängar och stränghantering!

Lua-sheriffen

Att skapa strängar

Här hittar du online-interpretatorn, så du kan testa koden. Eftersom språket är dynamiskt typat är det bara att sätta en variabel till en sträng på ett av följande två sätt:

Testa gärna koden och se vad som händer! Man kan använda både ” och ‘ till strängar, med den skillnad att det andra tecknet går att skriva i strängen innanför. Vill du alltså kunna skriva ut citationstecken i ditt skript måste du använda ‘-tecknet runt strängen, och vice versa (såvida du inte använder ”escape”, \ före tecknet).

Strängar är egentligen en följd tecken, characters. Det innebär att strängen är en form av array, och man kan ta reda på dess längd genom att skriva:

Provkör gärna, koden kommer att skriva ut ”3”. Notera att det är #a som returnerar längden på a, print() gör bara så att resultatet skrivs ut.

string-biblioteket har flera smidiga funktioner, som t.ex. ”find” som hittar en delsträng i en sträng och returnerar start- och slutposition:

Eftersom find returnerar två värden kan man, ungefär som i Python, skriva två variabler före tilldelningstecknet för att lagra båda värdena i. Det går också att använda regex-liknande kommandon, se mer här.

Notera också att första positionen i en Lua-sträng är 1, medan den i många andra språk är 0!

Ett annat sätt att skriva på, som är lite smidigare, är:

Det fungerar inte med en ”ren sträng”, utan man måste använda en variabel som är satt till en sträng före kolonet.

Följande funktioner går också att använda:

Och avslutningsvis, när man vill kombinera utskriften för flera strängar och/eller andra värden, använder man ”..” :

Så vad har vi lärt oss idag?

  • Hur man skapar strängar och vad skillnaden är om man använder ” respektive ‘.
  • Hur man smidigt kan få ut längden på en sträng.
  • Vilka olika funktioner man kan använda för att söka fram, plocka ut eller ersätta delsträngar.
  • Hur man smidigt skriver ut flera strängar och andra värden tillsammans i samma anrop

För mer information kring sträng-biblioteket och fördjupning i dess olika funktioner, besök denna sida!

Det var allt för denna gång, nästa gång ska vi kolla lite på den enda datatypen i Lua som inte är en primitiv (om man räknar bort strängar): tables! Ses då!

Kommentera