Geef aan welke concepten een rol spelen bij functioneel programmeren in Scala en wijzig deze concepten in een gegeven stukje Scala-code


  • D volgend concepten spelen een rol bij het functioneel programmeren in Scala:
    - geen neveneffecten (variabelen met de aanduiding val gebruiken, samengestelde warden moeten ook onveranderbaar zijn, we moeten methoden definiëren die ook een waarde terug geven (type Unit is niet goed) en we mogen geen lussen programmeren met de gebruikelijke foe en while-lussen waarin gebruikt wordt gemaakt van een veranderbae variabele voor het bijhouden van ioteraties)
    - we moeten lijstcomprehensies inzetten (ipv for en while lussen)
    - functies als weerste klas waarden gebruiken.
    - Currying is bij methodedefinitie mogelijk
    Partiele parametrisatei kan bereikt worden door een arameter te vervangen door een underscore
    - We kunnen hogere-ordefuncties definieren
    - Scala heeft een ingebouwd mechanisme voor patroonherkenning.
    - Scala kent het concept closure. De waarde van een functieobject wordt tijdens verwerking bepald en vormt een closure die de binding van de vrije variabelen bevat
    - Lazy evalution is mogelijk met het sleutelwoord lazy

    Rapporteer Plaats commentaar