Signatur ferier roulette

Trekk foresporsler 0.

En tekst / malbasert pakke som utloser handlinger fra regler definert i en xml-fil.

Innebygde funksjoner for a skrive enkle regeluttrykk. Stotter injeksjon av tilpassede funksjoner. Kan namespace et sett med regler for egendefinerte typer. Tillater innstilling av prioritet for en regel.

Denne pacakgen brukes til a avfyres forretningshandlinger basert pa et tekstlig beslutningstreet. Den bruker kraftige kontrollstrukturer i tekst / mal og XML-analyse fra koding / XML for a bygge treet fra en roulette xml-fil.

roulette er root-taggen til xml. Det kan inneholde en liste over regelsett-koder.

regelsett: en type namespaced tag med regel barn. Attributtene filterTypes og dataKey er pakrevd. For a matche regelen, skal minst en av typene fra denne listen v re en inngang for eksekutoren.

filterTypes: «T1, T2, T3.» (pakrevd) tillate en eller alle typer for regelen gruppen. * Pekeren filtrering er ikke ferdig.

filterStrict: true eller false. Regler gruppe utfores kun nar alle typer er til stede.

prioritiesCount: «1» eller «2» eller «3». «alle». hvis 1 stopper kjoringen etter at «n» topp prioritetsreglene er utfort. «alle» utforer alle reglene.

dataKey: «streng» (pakrevd) rotnokkel hvorfra brukerdata kan nas.

resultKey: «string» nokkel hvorfra result.put-funksjonen kan nas. standardverdien er «resultat».

arbeidsflyt: «streng» for a gruppere regler til samme arbeidsflyt. Parseren kan da opprettes med et wildcard monster for a filtrere ut rilesets. «*», «?» glob monster matching er forventet.

Koden som inneholder regeluttrykket. Attributtene navn og prioritet er valgfrie. Standardverdien av prioritet er 0. Det er ingen garanti for utforelsesrekkefolgen hvis prioritet ikke er angitt.

Navn: Regelnavn.

prioritet: prioritetsrangering av regelen innenfor regelsettet.

Gyldig tekst / maluttrykk. Delimetrene kan endres fra standard & lt; r & gt; & lt; / r & gt; bruker parse api.

Skriv gyldige tekst / mal kontroll strukturer i & lt; regel & gt ;. & Lt; / regel & gt; stikkord.

Namespace regler etter egendefinerte typer. f.eks:

& lt; ruleset filterTypes = «Person, Company» & gt ;. & Lt; / regelsett & gt;

Angi prioritet for regler innenfor namespace filterTypes.

Legg til egendefinerte funksjoner i parseren ved hjelp av metoden parser.AddFuncs. Funksjonen ma ha signaturen:

func (arg1. argN, prevVal. bool) bool.

a tillate statlig utforelse status forplantning.

Metoder som skal paberopes fra regelfilen ma ogsa v re av den ovennevnte signaturen.

Ugyldige / feilformede regler hoppes over og feilen logges.

Roret | operator tar en tidligere evaluert verdi og sender den til neste funksjon som det siste argumentet.

For mer informasjon om go templating: text / template.

For oyeblikket tilbyr pakken en enkelt parser: TextTemplateParser. Som navnet antyder, er parseren i stand til a lese xml innpakket over et gyldig tekst / maluttrykk og utforer det.

Typer som implementerer roulette.Result. Hvis en parser er initalisert med en Resultat-type, reguler uttrykk med resultat. Du blir gyldig. result.Put-funksjonen aksepterer et grensesnitt type som en parameter.

roulette.ResultCallback: En implementering av roulette.Result-grensesnittet som tilbakekaller den angitte funksjonen med resultatet.Put-verdi.

roulette.ResultQueue: En implementering av roulette.Result grensesnitt som setter verdien mottatt fra result.Put pa en kanal.

En eksekutor tar en parser og tester innkommende verdier mot reglene. Eksekutorer implementerer roulette.SimpleExecute og roulette.QueueExecute grensesnitt. Resultatet blir deretter fanget av en struktur som implementerer roulette.Result-grensesnittet.

En enkel implementering av roulette.SimpleExecute grensesnittet som har en parser med null resultat sett. Dette brukes hovedsakelig til direkte a endre inngangsobjektet. Eksekutor ignorerer regeluttrykk som inneholder resultat.

En implementering av roulette.SimpleExecute grensesnittet. som aksepterer en parser initialisert med roulette.ResultCallback.

En implementering av roulette.QueueExecute grensesnittet. som aksepterer roulette.ResultQueue type. Utforelsesmetoden forventer en inngangs- og en utgangskanal for a skrive verdier og lese resultater henholdsvis.

For konkrete eksempler pa det ovennevnte, se eksempelkatalogen.

Bortsett fra de innebygde funksjonene fra tekst / mal, er folgende funksjoner tilgjengelige.

Standardfunksjonene ligger i funcmap.go. De har blitt hentet fra og modifisert fra src / text / template / funcs.go for a fa dem til a jobbe med rorledninger og holde uttrykket ryddig. Tanken er a holde det templerende spraket lesbart og enkelt a skrive.

roroperator | : Bruk: utgangen av fn1 er det siste argumentet for fn2, f.eks. fn1 1 2 | fn2 1 2.

Funksjonene fra den utmerkede pakken er ogsa tilgjengelig.

&kopiere; 2018 GitHub, Inc. Vilkar Personvern Sikkerhetsstatus Hjelp.

Du kan ikke utfore denne handlingen pa dette tidspunktet.

Du logget pa med en annen fane eller et vindu. Oppdater for a oppdatere okten din. Du logget ut i en annen kategori eller et vindu. Oppdater for a oppdatere okten din.