Kom igångKom igång gratis

Identifiera rena funktioner

En ren funktion uppfyller två egenskaper:

  • Dess utdata beror enbart på dess indata: när du anger ett värde är resultatet alltid detsamma.
  • Den har inga sidoeffekter, det vill säga ingen påverkan utanför funktionen själv.

Många funktioner i R är inte rena, men de är ändå avgörande för det dagliga arbetet: i en analys behöver du ladda ned filer, skapa diagram, spara resultat och mycket mer.

När du programmerar bör du sträva efter att göra dina funktioner antingen så rena som möjligt eller så orena som möjligt (till exempel bör en funktion som laddar ned en fil enbart göra just det). Men för att kunna göra det behöver du först kunna skilja en ren funktion från en oren.

Det är precis vad vi gör i den här övningen: vi kör funktioner som antingen är rena eller orena och undersöker vad de returnerar.

Den här övningen är en del av kursen

Funktionell programmering på mellannivå med purrr

Visa kurs

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Launch Sys.time(), Sys.sleep(1), & Sys.time()
___()
___(___)
___()
Redigera och kör kod