YAML :: logisch.

Einfache boolesche Logik in YAML
Jetzt downloaden

YAML :: logisch. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Michael Schilli
  • Website des Verlags:
  • http://search.cpan.org/~mschilli/

YAML :: logisch. Stichworte


YAML :: logisch. Beschreibung

Einfache boolesche Logik in YAML Yaml :: logic ist ein Perl-Modul, mit dem Benutzer die einfache boolesche Logik in einer Konfigurationsdatei definieren können, ohne dass sie den beliebigen Code ausführen können. Während der Perl-Code mit dem sicheren Modul gesteuert werden kann, kann der Benutzer nicht verhindern, dass der Benutzer nicht unendlich definiert Loops, Erschütteln Sie den gesamten verfügbaren Speicher oder den Absturz des Dolmetschers, indem er bekannte Perl-Fehler genutzt wird. YAML :: Logic ist in dieser Hinsicht nicht perfekt, aber es macht es jedoch angemessen, schädlich Code zu definieren. Die Syntax für die boolesche Logik in einer Yaml-Datei wurde inspiriert von John Siracusa's Rose :: db :: object :: Querybuilder-Modul , das Datenstrukturen bereitstellt, um die Logik zu definieren, die dann in SQL umgewandelt wird. Yaml :: logic nimmt stattdessen die Datenstruktur an und transformiert es in den Perl-Code. FOR BEISPIELSCHAFT Die Datenstruktur, um zu prüfen, ob eine variable $ var einem Wert "foo" entspricht, sieht so aus: Es ist ein Verweis auf ein Array, das sowohl den Wert der Variablen als auch den Wert, um es zu vergleichen, zu vergleichen. In YAML sieht dieses aus wie Regel: - $ var - fooand Dies ist genau die Syntax, die YAML :: Logic akzeptiert. Beachten Sie, dass Sie nach der Analyse der obigen YAML-Konfiguration nur das Array-REF innerhalb des Regeleintrags an YAML :: Evaluierung () Methode: $ logic-> Evaluate ($ YAML_DATA -> {Regel}, ... Die gesamten YAML-Daten würden mit YAML :: logisch einen Fehler verursachen, da es erwartet, ein Array-Ref.Synopsis zu empfangen. (); ### Tests, die irgendwo in einer YAML-Datei definiert sind Anwendungscode: if ($ logic-> Auswerten ($ data -> {-Rel}, {var => "foo"})) {drucken "true! "; } Anforderungen: · Perl.


YAML :: logisch. Zugehörige Software