为python编写的简单javascript表达式生成器。
jexp的Python项目详细描述
jexp
synopsis: | A silly little JS expression builder to let you use native Python to build Javascript expression strings. |
---|
这个包只允许使用直观的python dsl创建简单(即不赋值)的javascript表达式。
逻辑表达式
>>> from jexp import J>>> e = J('var_1') & J('var_2')>>> str(e)‘(var_1&&var_2)’
>>> str(e | 'abc')‘((var_1&&var_2)||”abc”)’
j类的参数将作为str输出到生成的js-soJ('my_var')中,这是引用var和J(5)引用数字文本5的好方法。如果您需要一个实际的字符串,可以在j调用-J('"mystring"')-中自己添加引号,或者将j对象与str组合在一起,如上图所示。
数学表达式
>>> str(J(5) + 28)‘(5+28)’
>>> str(J('my_var') + 28)‘(my_var+28)’
部门还没有实施,但你期望的其他事情也在那里。
比较
>>> e = J(5) <= 6>>> str(e)‘(5<=6)’
>>> str(e == "test_string")‘((5<=6)==”test_string”)’
属性访问
>>> e = J('my_var').attribute>>> str(e)‘my_var.attribute’
这应该适用于任何不以下划线开头的属性(以及一些以下划线开头的属性)。
函数调用
>>> e = J('func')('a','b')>>> str(e)‘func(“a”,”b”)’
你也可以用其他j对象来尝试。
>>> str(J('func')(J('arg1'),J('arg2')))‘func(arg1,arg2)’