Predikat afsendelse - Predicate dispatch
| Polymorfisme |
|---|
| Ad hoc polymorfisme |
| Parametrisk polymorfisme |
| Subtyping |
I computerprogrammering er predikatforsendelse en generalisering af multiple afsendelser ("multimetoder"), der gør det muligt at vælge metoden til opkald ved kørselstid baseret på vilkårlige beslutbare logiske forudsætninger og/eller mønstermatchning knyttet til en metodeerklæring.
Raku understøtter predikatforsendelse ved hjælp af "where" -klausuler, der kan udføre vilkårlig kode mod enhver funktion eller metodeparameter.
Julia har en pakke til det med PatternDispatch.jl, men understøtter ellers indbygget flere forsendelser.
Eksperimentelle implementeringer er blevet oprettet til Common LISP og til Java (JPred).
Det tillader åben udvidelse af tidligere erklærede metoder på et finkornet niveau, men flere udvidelser med identiske eller overlappende prædikater skabt af forskellige udviklere kan forstyrre hinanden på uventede måder. I denne henseende ligner det aspektorienteret programmering .
Referencer
eksterne links