Organisering av kode i funksjoner

Haskell:
Organisering av kode i funksjoner

Hvordan:

Her er hvordan du kan skrive og bruke funksjoner i Haskell:

-- Definere en enkel funksjon for å legge til to tall
addNumbers :: Int -> Int -> Int
addNumbers x y = x + y

-- Bruke funksjonen
main = print (addNumbers 3 5)

Output:

8

Du kan også lage høyere-ordens funksjoner:

-- Tar en funksjon og anvender den to ganger på noe
applyTwice :: (a -> a) -> a -> a
applyTwice f x = f (f x)

-- Bruke applyTwice med en anonym funksjon
main = print (applyTwice (*2) 5)

Output:

20

Dypdykk

Haskell, et rent funksjonelt språk, behandler funksjoner som førsteklasses borgere. Historisk sett er dette rotfestet i lambda kalkulus, et grunnleggende rammeverk i beregning. I motsetning til imperativ språk hvor funksjoner er en sekvens av instruksjoner, er funksjoner i Haskell uttrykk som beskriver forholdet mellom data.

Det finnes alternativer til å skrive råfunksjoner for gjenbruk. Vurder å bruke typeklasser for polymorfisme eller dra nytte av moduler for å gruppere relaterte funksjoner. Hasells trege evaluering påvirker også funksjonsimplementasjon—funksjoner vil ikke bli evaluert før resultatene deres er nødvendige, noe som potensielt kan påvirke ytelseshensyn.

Se Også