这个问题可能很幼稚,因为我是 ColdFusion 编程的新手。
我有一个任务,我f1
在组件内编写了一个函数。我想从同一个组件中定义的f1
另一个函数调用。f2
f2
在 cfm 文件中被调用。
我的问题 - 这是正确的方法吗?我可以调用f1
fromf2
吗?
我也可以合并f1
到f2
中,但我想保留f1
为一个单独的函数。
这个问题可能很幼稚,因为我是 ColdFusion 编程的新手。
我有一个任务,我f1
在组件内编写了一个函数。我想从同一个组件中定义的f1
另一个函数调用。f2
f2
在 cfm 文件中被调用。
我的问题 - 这是正确的方法吗?我可以调用f1
fromf2
吗?
我也可以合并f1
到f2
中,但我想保留f1
为一个单独的函数。
是的,如果两个函数都属于同一个组件,您可以在 ColdFusion 中从 f2 调用 f1。(它们不必在同一个组件中,但如果是,答案总是肯定的。)
<cffunction name="f2">
...
<cfset result_of_f1 = f1()>
...
</cffunction>
<cffunction name="f1">
...
</cffunction>
从另一个函数调用一个函数有很多很好的理由。它被称为函数组合。
在 Coldfusion 10 和 Railo 4 中,您可以使用Underscore.cfc 库创建组合函数:
_ = new Underscore();// instantiate the library
f1 = function (message) {
return "hello " & message;
};
f2 = function (toOutput) {
writeOutput(toOutput);
};
sayHelloTo = _.compose(f2, f1);
sayHelloTo("world!");// output: "hello world!"
(注:我写了 Underscore.cfc 库)