4

这个问题可能很幼稚,因为我是 ColdFusion 编程的新手。

我有一个任务,我f1在组件内编写了一个函数。我想从同一个组件中定义的f1另一个函数调用。f2

f2在 cfm 文件中被调用。

我的问题 - 这是正确的方法吗?我可以调用f1fromf2吗?

我也可以合并f1f2中,但我想保留f1为一个单独的函数。

4

2 回答 2

12

是的,如果两个函数都属于同一个组件,您可以在 ColdFusion 中从 f2 调用 f1。(它们不必在同一个组件中,但如果是,答案总是肯定的。)

 <cffunction name="f2">
    ...
    <cfset result_of_f1 = f1()>
    ...
 </cffunction>

 <cffunction name="f1">
    ...
 </cffunction>

从另一个函数调用一个函数有很多很好的理由。它被称为函数组合

于 2009-05-13T14:54:09.670 回答
0

在 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 库)

于 2012-08-08T03:18:04.653 回答