Suggerimenti per la logica della sintassi

0

Questa sintassi verrà utilizzata all'interno degli attributi HTML. Ecco alcuni esempi di ciò che ho finora:

<input name="a" conditions="!b, c" />
<input name="b" />
<input name="c" />

Questo farà sì che l'input "a" esegua qualcosa se b non è selezionato e c è selezionato (si presume che b e c siano checkbox se non hanno definito :value )

<input name="a" conditions="!b:foo|bar, c:foo" />
<input name="b" />
<input name="c" />

Questo farà sì che l'input "a" esegua qualcosa se b non ha foo o bar valori, e se c ha il valore foo .

<input name="a" conditions="!b:EMPTY" />
<input name="b" />

Rende l'input "a" fai qualcosa se b ha un valore assegnato.

Quindi, essenzialmente , agisce come AND logico, : come equals (=), ! come NOT e | come OR. Il | (OR) è necessario solo tra i valori (almeno credo) e AND non è necessario tra i valori per ovvi motivi:)

EMPTY significa valore vuoto, come <input value="" />

Hai qualche suggerimento su come migliorare questa sintassi, come renderla più umana? Ad esempio, penso che la parola chiave "EMPTY" non sia propriamente appropriata e debba essere sostituita da un personaggio, ma non so quale scegliere.

    
posta Anna 29.03.2012 - 16:01
fonte

1 risposta

1

I simboli che usi sono compatti, ma non sono amichevoli. Se stai puntando questo metano sugli sviluppatori, penso che sia ragionevolmente semplice, poiché si basa sulla punteggiatura familiare ai programmatori.

Ma quello non è il tuo scopo. Sembra che tu stia indirizzando questa lingua a utenti finali o designer, nel qual caso la tua sintassi non è affatto semplice. Non hanno background da sottintendere! = non, | = OR.

Penserei seriamente al tuo mercato di riferimento, e cerco di trovare una lingua che conoscono (CSS forse?) e baso il tuo metalinguaggio attorno agli idiomi usati in una lingua che conoscono, o in inglese e matematica di base (o e, non, =).

Anche se non posso essere sicuro che questo sia appropriato per i tuoi utenti finali (è la tua chiamata, non la mia), penserei che qualcosa del genere sarebbe più adatto per i non programmatori. Queste sono re-scritture degli esatti esempi che hai usato.

  • b = FALSE, c = TRUE
  • NOT b = foo OR bar, c = foo (in alternativa: b = NOT foo, b = NOT bar, c = foo se non vuoi supportare NOT sul lato sinistro dell'espressione)
  • b = NOT BLANK

Puoi scegliere di identificare le tue parole riservate in modo diverso rispetto a CAPS come ho usato ($ o, $ blank, $ true), ma l'obiettivo è essere espressivo, non compatto.

    
risposta data 29.03.2012 - 16:50
fonte

Leggi altre domande sui tag