使用python时间旅行模式/反模式生成C代码
我正在寻找python中的时间旅行模式 我希望能够执行一段带有变量的代码,这些变量可能会在执行过程中被更改,如果它们在执行过程中被更改,那么之前的执行应该是不同的 以下是一个不起作用的示例:使用python时间旅行模式/反模式生成C代码,python,Python,我正在寻找python中的时间旅行模式 我希望能够执行一段带有变量的代码,这些变量可能会在执行过程中被更改,如果它们在执行过程中被更改,那么之前的执行应该是不同的 以下是一个不起作用的示例: def foo(vars): aIsHere = False bIsHere = False if aIsHere: print "int a = 0;" if bIsHere: print "int b = 0;" for var i
def foo(vars):
aIsHere = False
bIsHere = False
if aIsHere:
print "int a = 0;"
if bIsHere:
print "int b = 0;"
for var in vars:
if var == "a":
aIsHere = True
if var == "b":
bIsHere = True
print "%s++;"%var
我想这个代码产生有效的C
我知道对于这种特定的情况有很多解决方案,但是我希望有一种模式适用于一般情况,在这种情况下,在之前编写的代码被执行之前,其他代码被执行之后,但是一些变量来自后面的代码
更确切地说,我想要
你为什么要这样做?您可以得到与我认为您使用该代码所暗示的相同的输出,而不需要花哨的时间旅行代码:)
如果python有一个时间旅行模块,我宁愿抓取明天的股市数据。你为什么要这样做?你可以得到与我认为你用这段代码暗示的相同的输出,而不需要花哨的时间旅行代码:)。有很多,因为人们对如何进行以及需要多少自动化有不同的想法。最常见的用法是在一大块固定HTML中插入一些文本或数字来创建网页,但它们可能比这更复杂。人们可以使用同样的技术让python编写一个C程序。如果,他想,这样一台机器实际上是不可能的,那么它肯定有有限的可能性。所以我要做的就是计算出它到底有多不可能,把这个数字输入有限不可能发生器,给它一杯新鲜的热茶。。。打开它!说真的,这实际上是关于调用
foo()
或其他模板的时间。他应该只在变量
完成时调用它,而不是在之前。上面的代码就是一个简单的例子。在我的实际案例中,vars是一个复杂的树结构,我必须遍历它,“a++;”和“b++;”是许多复杂的嵌套if语句(可能)使用“a”和“b”)。我试图避免两次遍历vars结构,我想要一种通用的方法来完成它,而不是针对我的情况。
def foo(vars):
if 'a' in vars:
print "int a = 0;"
print "a++;"
if 'b' in vars:
print "int b = 0;"
print "b++;"