Predikát odeslání - Predicate dispatch
Polymorfismus |
---|
Ad hoc polymorfismus |
Parametrický polymorfismus |
Podtypování |
v programování, predikát odeslání je zobecněním hromadné odeslání ("multimethods"), který umožňuje metoda volat, aby byl vybrán za běhu na základě libovolného rozhodnutelného logické predikáty a / nebo porovnávání vzorů připojený k deklaraci metody.[1][2]
Raku podporuje odesílání predikátů pomocí klauzulí "where", které mohou provádět libovolný kód proti libovolnému parametru funkce nebo metody.[3]
Julie má k tomu balíček s PatternDispatch.jl ale jinak nativně podporuje vícenásobné odeslání.
Byly vytvořeny experimentální implementace pro Společný LISP,[4][5] a pro Jáva (JPred[2]).
Umožňuje otevřené rozšíření dříve deklarovaných metod na jemnozrnné úrovni, ale více rozšíření se stejnými nebo překrývajícími se predikáty vytvořenými různými vývojáři se mohou navzájem rušit neočekávanými způsoby. V tomto ohledu je to podobné jako aspektově orientované programování.
Reference
- ^ Millstein, T. „Praktické odeslání predikátu“ (PDF). Citovat deník vyžaduje
| deník =
(Pomoc) - ^ A b Millstein, T .; Frost, C .; Ryder, J .; Warth, A. (2009). "Expresivní a modulární odeslání predikátu pro Javu". Transakce ACM v programovacích jazycích a systémech. 31 (2): 1. CiteSeerX 10.1.1.212.4268. doi:10.1145/1462166.1462168.
- ^ "podpis třídy". Citováno 2020-07-07.
- ^ "Predikátový dispečink v běžném systému objektů Lisp" (PDF).
- ^ "pcostanza / filtrované funkce". GitHub. Citováno 2016-04-07.
externí odkazy
Tento programování související článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |