ewaldshof / ewhome

GNU General Public License v3.0
0 stars 0 forks source link

Feature Request: Definition neuer Funktionen im YAML #7

Open sulimma opened 4 years ago

sulimma commented 4 years ago

Die Funktionalität ist in den Expressions fast enthalten, die Funktion muss nur noch in die Liste der erlaubten Funktionen eingetragen werden.

Syntax könnte sein: FunctionDefinitions: hypot(x,y): return sqrt(xx + yy)

Und im code wäre dann: name = der teil von key vor der Klammer eval("def" + key + "\n" + value) functions[name] = name

Man muss ein bisschen mit den Einrückungen und Zeilenumbrüchen aufpassen dabei.

scy commented 4 years ago

Klar, lässt sich bauen. Die Einrückungen werden tatsächlich nicht ganz trivial, ist aber machbar. Es wäre einfacher, wenn Python-Lambdas vollwertige Funktionen wären, aber da sie im Prinzip nur einzeilige Expressions darstellen und keine Statements beinhalten dürfen, reichen sie für dieses Szenario wahrscheinlich nicht aus.

Ich schätze ne halbe Stunde bis Stunde Aufwand.