Come implementare le formule definite dall'utente (incluse le istruzioni aritmetiche e if)

0

Considerare il caso in cui un utente può salvare una formula che può includere alcune variabili predeterminate. Dì che questi sono chiamati parole e numeri . Un'espressione in qualche formato potrebbe quindi assomigliare a questa:

if(words < 5)
    0.5*words+13*numbers
else
    words+6.5*numbers

Quando valutato, restituisce un valore numerico. Quale sarebbe il modo migliore per archiviarli nel database?

  • Non voglio usare Pythons eval-function, è difficile renderlo sicuro
  • Potrei usare una rappresentazione JSON o XML e creare un parser.
  • Potrei usare la classe Model di Django e implementare i modelli con i campi operando , operator_1 , operator_2 . Avrei quindi bisogno di casi speciali per if / else, e avrei bisogno che gli operatori a volte contenessero letterali, a volte chiavi esterne (anche un semplice esempio come quello sopra userebbe ~ 8 voci di database).

Qualche input su questa o forse un'idea migliore?

    
posta Tazavoo 09.08.2016 - 05:40
fonte

0 risposte

Leggi altre domande sui tag