Próbuję przedstawić się Riakowi ze sterownikiem Haskell i utknąłem w prostej operacji put
. Jestem zdezorientowany podpisem funkcji put
. i nigdzie nie ma ani jednego przykładu.Sterownik Haskell Riak: Wykonanie prostej operacji "włóż"
Więc z tego podpisu:
put :: (FromJSON c, ToJSON c, Resolvable c) => Connection -> Bucket
-> Key -> Maybe VClock -> c -> W -> DW -> IO (c, VClock)
Mam kilka pytań.
Co to jest być może VClock? Czy muszę to w jakiś sposób wygenerować, czy wystarczy tylko określić Nic? I dlaczego otrzymam ten VClock z powrotem w zwróconej krotce?
Czy muszę pisać instancje FromJSON i ToJSON dla każdej prostej wartości, którą wstawiam, nawet jeśli jest to prosta wartość ciągu? Na przykład, jeśli chcę wstawić wartość "Stitch" za pomocą klucza "Name", jak mam to zrobić?
Co to jest instancja Resolvable
? Jak utworzyć rozpoznawalną wartość tekstową lub łańcuchową? Rozumiem, że muszę zdefiniować funkcję resolve
, ale nie rozumiem, co to znaczy i jak to zrobić.
Dziękuję za answer.I rodzaj dostał VClock. Mam tę wartość musi być JSON. Rozumiem też Kworum.Ale nie dostałem strony "Rozstrzygalny". Więc za każdym razem, gdy wstawiam wartość, muszę uczynić ją instancją 'Resolvable' i implementować funkcję' resolve', czy to jest poprawne? Jak więc napisać tę funkcję 'rozwiązać'? Czy możesz pokazać prosty przykład? –