Vela → keteroki atamai mo nga raupapa wa me etahi atu
I roto i te fintech, he maha tonu taatau ki te tukatuka i nga pukapuka maha o nga raraunga reiti moni. Ka whiwhi raraunga mai i nga maapuna rereke, a kei a ia o raatau ake whakaaro me pehea te taapiri i nga reiti whakawhiti mo apopo, te ra i muri apopo, a tera marama me nga tau e toru e whai ake nei. Mena ka taea e te tangata te matapae reiti tika, kua tae ki te wa ki te kati i te pakihi me te huri poauau noa i te moni ki muri me muri. Ko etahi o nga puna korero he pono ake, ko etahi ka tukuna he para katoa, me nga whakaurunga onge o nga uara tata, engari mo nga tokorua taangata. Ko ta maatau mahi he tirotiro i enei tekau mano o nga uara mo ia hēkona me te whakatau he aha nga mea hei whakaatu ki nga kaihoko. Me tātarihia te uara tika mai i te maha o te paru me te paru, pera i te mahi a te flamingo i te tina.
Ko te ahua motuhake o te flamingo ko to ratou ngutu kopiko whakararo, hei tātari kai mai i te wai, i te paru ranei.
- Te Wiki
No reira i whanau ai te whare pukapuka Vela, e pupuri ana i te keteroki ahua mo nga uara maha i nga waa kua tohua. I raro i te potae, ka taraihia e ia nga raraunga kino me te tawhito i runga i te rere, me te whai waahi ki nga mea hou N nga uara whaimana mo ia matua (nga takirua moni, i roto i ta maatau keehi).
Me kii tatou ka kohi reiti mo nga takirua moni e toru. Te whakamaramatanga ngawari Vela ki te penapena i te ahua o naianei ka penei te ahua:
defmodule Pairs do
use Vela,
eurusd: [sorter: &Kernel.<=/2],
eurgbp: [limit: 3, errors: 1],
eurcad: [validator: Pairs]
@behaviour Vela.Validator
@impl Vela.Validator
def valid?(:eurcad, rate), do: rate > 0
end
Whakahōu Uara
Vela.put/3 Ko te mahi ka mahi i nga waahanga e whai ake nei:
ka meinga validator i runga i te uara, mena kua tautuhia tetahi (tirohia te upoko Whakamana i raro);
ka taapirihia te uara ki te rarangi o nga uara pai mena i angitu te whakamana, ki te rarangi ratonga ranei :__errors__ ki te kore;
ka meinga te kōmaka ki te sorter kua tautuhia mo tetahi taviri, ka waiho noa ranei te uara ki te upoko o te rarangi (LIFO, tirohia te pene Kōmakahia i raro);
ka whakapai i te rarangi kia rite ki te tawhā :limit i tukuna ki runga i te hanganga;
tawhā whirihoranga threshold, me - ka taea - compare_by, tirohia te pene Tauritenga i raro nei.
Mena ka angitu te whakamana, ka taapirihia te uara ki te raarangi i raro i te kii e rite ana; ki te kore, ko te tuple {serie, value} haere ki :__errors_.
Whakataurite
Ko nga uara kei roto i enei rarangi ka taea te aha. Hei whakaako Vela ki te whakataurite ia ratou, he mea tika ki te whakawhiti compare_by tawhā i roto i te whakamaramatanga raupapa (mehemea kaore e taea te whakataurite nga uara ki te paerewa Kernel.</2); me momo momo tenei tawhā (Vela.value() -> number()). Ma te taunoa he ngawari & &1.
Ano, ka taea e koe te tuku tawhā ki te whakamarama haupae comparator ki te tatau i nga uara delta (min/max); hei tauira, ma te tuku Date.diff/2 hei kaiwhakariterite, ka taea e koe te tiki i nga waahanga tika mo nga ra.
Ko tetahi atu huarahi pai ki te mahi ko te tuku i tetahi tawhā threshold, e tautuhi ana i te ōwehenga mōrahi e whakaaetia ana o te uara hōu ki {min, max} wā. I te mea kua tohua hei ōrau, karekau te haki e whakamahi comparatorengari kei te whakamahi tonu compare_by. Hei tauira, hei tohu i te uara paepae mo nga wa o te ra, me tohu koe compare_by: &DateTime.to_unix/1 (ki te tiki uara tauoti) me threshold: 1, ka whakaaehia nga uara hou mena kei roto ±band wā mai i ngā uara o nāianei.
Hei whakamutunga, ka taea e koe te whakamahi Vela.equal?/2 hei whakatairite i nga keteroki e rua. Mena ka tautuhia e nga uara he mahi equal?/2 ranei compare/2, ka whakamahia enei mahi mo te whakataurite, ki te kore e whakamahi poauau tatou ==/2.
Te whiwhi uara
Ko te tukatuka i te ahua o naianei ka timata ma te waea Vela.purge/1, e tango ana i nga uara tawhito (mehemea validator herea ki timestamps). Ka taea e koe te waea Vela.slice/1ka hoki mai keyword me nga ingoa haupae hei mau taviri me nga uara tuatahi.
Ka taea hoki e koe te whakamahi get_in/2/pop_in/2 mo te urunga taumata iti ki nga uara o ia rarangi.
Whakamahinga
Vela Ka taea te tino whai hua hei keteroki raupapa-wa i roto i te ahua o te tukanga penei GenServer/Agent. Kei te pirangi matou kia kaua rawa e whakamahi i nga uara akoranga tawhito, a ki te mahi i tenei ka pupuri noa matou i te tukanga me te mahi a te kawanatanga Vela, me te kaiwhakaatu e whakaatuhia ana i raro nei.
и Vela.purge/1 ma te ata tango i nga uara mate katoa i nga wa katoa e hiahia ana matou ki nga raraunga. Ki te uru ki nga uara tuuturu ka karanga noa matou Vela.slice/1, a ka hiahiatia he hitori iti o te akoranga (te raupapa katoa), ka whakahokia noa - kua tohua - me nga uara whaimana.