4

私は ColdFusion プログラミングに慣れていないので、この質問は素朴かもしれません。

f1コンポーネント内に関数 を記述したタスクがあります。同じコンポーネントf1で定義された別の関数から呼び出したい。f2

f2cfm ファイルで呼び出されています。

私の質問 - これは正しい方法ですか? f1から呼び出すことはできますf2か?

にマージf1することもできますが、別の関数としてf2保持したいと思います。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

Coldfusion10およびRailo4では、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 に答える