我经常跨越这种代码转换(甚至是数学转换)。 (Python示例,但适用于任何语言。)
我去了一个功能
def f(x):
return x
我将它用于另一个。
def g(x):
return f(x)*f(x)
print g(2)
导致4
但我想删除功能依赖,并将函数g更改为
def g(f):
return f*f
print g( f(2) )
也导致4
你如何称这种转换,将函数局部转换为标量?
答案 0 :(得分:0)
我不确定是否有特定的术语。
在函数式编程的一般术语中,通常没有区分传递标量参数和传递函数作为参数。
在第一个示例中,我仍然可以调用g(f(2))
,它应该计算f(f(2))*f(f(2))
,其中(因为f(x)
是身份转换)也会导致4作为答案。