我们在紧密相邻的多个位置使用了以下函数调用:
func(param1, param2, param3, param4, param5)
我想使用
funccall()
在所有地方。
是否有宏的概念?给出所有自变量的部分引用(标记为正确的答案)是正确的,并且如果随后的所有调用都在同一范围内,则它可以工作。
如果情况是这样的话:
A():
func(p1,p2,p3,p4,p5) # 3 times
B():
func(p1,p2,p3,p4,p5) # 2 times
C():
func(p1,p2,p3,p4,p5) # 4 times
使用部分:
A():
funccall = partial(func,p1,p2,p3,p4,p5)
funccall() # 3 times
B():
funccall = partial(func,p1,p2,p3,p4,p5)
funccall() # 2 times
C():
funccall = partial(func,p1,p2,p3,p4,p5)
funccall() # 4 times
理想的(如果代码中遵循约定并且可读性不是问题)
macro funccall() = func(p1,p2,p3,p4,p5)
A():
funccall() # 3 times
B():
funccall() # 2 times
C():
funccall() # 4 times