Hoppa till huvudinnehåll

Rövarspråksgenerator

· 10 min att läsa
Filip Tammergård
Programmerare på Frilans Finans

Rövarspråket sägs ha uppfunnits av Astrid Lindgrens make Sture Lindgren när han lekte med sina kompisar som liten. Astrid Lindgrens böcker om Kalle Blomkvist gjorde språket populärt i Sverige.

Rövarspråket är ett talbaserat språk där varje konsonant ersätts med konsonanten + o + konsonanten igen. Utifrån den enkla regeln skulle det vara busenkelt att göra en rövarspråksgenerator. När det kommer till rövarspråket i skrift – hädanefter kallat rövarskrift – finns det dock några fler aspekter att beakta. I det här inlägget är det alltså egentligen inte en rövarspråksgenerator som byggs, utan snarare en rövarskriftsgenerator.

TL;DR

  • Den enkla talregeln (konsonant + "o" + konsonant) behöver några tillägg för att fungera i skrift – framförallt hantering av "x" och versaler.
  • Det här inlägget går igenom två strategier för att bygga en generator i JavaScript: att loopa över konsonanterna, och att loopa över texten som ska översättas.
  • En regex med en callback kan korta ner alltihop till två rader, som visas som det slutgiltiga alternativet.

Kalendermatematik

· 14 min att läsa
Filip Tammergård
Programmerare på Frilans Finans

Man skulle kunna tro att det här med veckonummer är busenkelt. Det är väl bara att börja på vecka 1 och fortsätta till vecka 52 för att sedan börja om igen? Tyvärr är det inte så enkelt. Det visar sig tvärtom vara förvånansvärt komplicerat!

anteckning

Den här artikeln beskriver veckonumreringen enligt ISO 8601, som Sverige och de flesta europeiska länder följer. Andra konventioner finns – i USA används till exempel söndag som första veckodag, och vecka 1 är veckan som innehåller 1 januari – så modellen ser annorlunda ut där. Fenomenet med "53-veckorsår" som utforskas nedan är specifikt för ISO 8601: ISO kräver att alla veckor är fulla sjudagarsveckor, medan den amerikanska konventionen helt enkelt kortar ner årets första och sista vecka för att få det att gå ihop.

TL;DR

  • Oftast har ett år 52 veckor, men vissa år har 53 veckor.
  • Om ett år ska ha 53 veckor eller inte beror på vilken veckodag den 1 januari följande år är och om det aktuella året är ett skottår eller inte.
  • Skottår förekommer i genomsnitt lite mindre än var fjärde år, vilket gör modellen för när 53 veckor ska förekomma klurig.

Summera tal i en array med JavaScript

· 6 min att läsa
Filip Tammergård
Programmerare på Frilans Finans

Det finns flera sätt att räkna ut summan av tal i en array med JavaScript. De olika sätten skiljer sig framför allt i hur lättlästa de är – och lättläst kod är lättare att underhålla och lättare för andra att förstå och bygga vidare på.

TL;DR

  • Det finns många sätt att summera tal i en array, men flera sätt är svårlästa och onödigt krångliga.
  • Det bästa sättet är med hjälp av den inbyggda funktionen reduce – eller den nyare Math.sumPrecise om du kan förlita dig på att den finns tillgänglig.