w radości Clojure stwierdza, że:Przedefiniowanie pól rekordu w Clojure
można nawet przedefiniować rekord, jeśli chce się mieć różne pola daje skompilowany wydajność Java dynamicznie
Czy ktoś może mi powiedzieć, jak to się robi?
Dzięki
w radości Clojure stwierdza, że:Przedefiniowanie pól rekordu w Clojure
można nawet przedefiniować rekord, jeśli chce się mieć różne pola daje skompilowany wydajność Java dynamicznie
Czy ktoś może mi powiedzieć, jak to się robi?
Dzięki
W rozdziale 9 idziemy przez definicji protokołu FIXO
i rozszerzenia zarówno TreeNode
rekordu i TreeNode
typu. Pokazujemy, że budowanie implementacji FIXO
może odbywać się dynamicznie. W rzeczywistości zaczynamy od rekordu TreeNode
, rozszerzamy protokół FIXO
, a następnie definiujemy typ TreeNode
i rozszerzamy go na . Chociaż nie zmieniamy liczby pól, zmieniamy typ i po rozszerzeniu wszystkie wywołania za pośrednictwem protokołu FIXO
zostają przekształcone w nowy typ (musieliśmy również przedefiniować rozszerzenie FIXO
na nil
, ponieważ zwracało ono stary rekord oparty NodeType
.
można by prawdopodobnie nie to zrobić w kodzie, które można wdrożyć, ale jest to przydatna technika podczas eksperymentów. Spróbuj przejść przez sekcji FIXO i sprawdzić typy jak przejść.
który rozdział/strona? – Kevin
@Kevin Strona 191 - http://www.manning.com/fogus/Sample-Ch9.pdf :) –
Masz na myśli, jak redefiniowane są zapisy? – Ankur